Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

indy_sc.c File Reference

#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>
#include <asm/bcache.h>
#include <asm/sgi.h>
#include <asm/sgimc.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/system.h>
#include <asm/bootinfo.h>
#include <asm/sgialib.h>
#include <asm/mmu_context.h>

Include dependency graph for indy_sc.c:

Go to the source code of this file.

Defines

#define SC_SIZE   0x00080000
#define SC_LINE   32
#define CI_MASK   (SC_SIZE - SC_LINE)
#define SC_ROUND(n)   ((n) + SC_LINE - 1)
#define SC_INDEX(n)   ((n) & CI_MASK)
#define DEASSERT(bit)   (*(cpu_control) &= (~(bit)))
#define ASSERT(bit)   (*(cpu_control) |= (bit))
#define DELAY   for(n = 0; n < 100000; n++) __asm__ __volatile__("")

Functions

static void indy_sc_wipe (unsigned long first, unsigned long last)
static void indy_sc_wback_invalidate (unsigned long addr, unsigned long size)
static void indy_sc_enable (void)
static void indy_sc_disable (void)
 __initfunc (static inline int indy_sc_probe(void))
 __initfunc (void indy_sc_init(void))

Variables

static unsigned long scache_size
bcache_ops indy_sc_ops


Define Documentation

#define ASSERT bit   )     (*(cpu_control) |= (bit))
 

Referenced by __initfunc(), __iriap_close(), __irias_delete_attrib(), __irias_delete_object(), __irlan_close(), __irlan_insert_param(), __irlap_close(), __irlmp_close_lsap(), __irport_change_speed(), __irttp_close_tsap(), __irtty_change_speed(), actisys_reset(), ad1843_get_recsrc(), ad1843_read_multi(), ad1843_set_resample_mode(), ad1843_setup_adc(), ad1843_setup_dac(), ad1843_write_multi(), async_wrap_skb(), byte_value(), handle_filter_request(), hashbin_clear(), hashbin_delete(), hashbin_find(), hashbin_get_first(), hashbin_get_next(), hashbin_insert(), hashbin_lock(), hashbin_remove(), hashbin_unlock(), ircc_change_speed(), ircc_hard_xmit(), ircc_interrupt(), ircc_is_receiving(), ircc_net_close(), ircc_net_open(), ircomm_close(), ircomm_connect_request(), ircomm_connect_response(), ircomm_control_request(), ircomm_data_indication(), ircomm_data_request(), ircomm_disconnect_indication(), ircomm_disconnect_request(), ircomm_flow_request(), ircomm_lmp_connect_confirm(), ircomm_lmp_connect_indication(), ircomm_lmp_data_indication(), ircomm_lmp_data_request(), ircomm_lmp_disconnect_indication(), ircomm_lmp_flow_control(), ircomm_open(), ircomm_param_data_format(), ircomm_param_data_rate(), ircomm_param_dce(), ircomm_param_dte(), ircomm_param_enq_ack(), ircomm_param_flow_control(), ircomm_param_poll(), ircomm_param_port_name(), ircomm_param_port_type(), ircomm_param_request(), ircomm_param_service_type(), ircomm_param_xon_xoff(), ircomm_process_data(), ircomm_ttp_connect_confirm(), ircomm_ttp_connect_indication(), ircomm_ttp_data_indication(), ircomm_ttp_data_request(), ircomm_ttp_disconnect_indication(), ircomm_ttp_flow_indication(), ircomm_tty_attach_cable(), ircomm_tty_chars_in_buffer(), ircomm_tty_check_modem_status(), ircomm_tty_close(), ircomm_tty_connect_confirm(), ircomm_tty_connect_indication(), ircomm_tty_control_indication(), ircomm_tty_data_indication(), ircomm_tty_detach_cable(), ircomm_tty_disconnect_indication(), ircomm_tty_discovery_indication(), ircomm_tty_do_event(), ircomm_tty_flow_indication(), ircomm_tty_flush_buffer(), ircomm_tty_getvalue_confirm(), ircomm_tty_hangup(), ircomm_tty_ias_register(), ircomm_tty_link_established(), ircomm_tty_next_state(), ircomm_tty_send_initial_parameters(), ircomm_tty_set_modem_info(), ircomm_tty_shutdown(), ircomm_tty_start_watchdog_timer(), ircomm_tty_startup(), ircomm_tty_stop(), ircomm_tty_throttle(), ircomm_tty_unthrottle(), ircomm_tty_wait_until_sent(), ircomm_tty_watchdog_timer_expired(), ircomm_tty_write(), ircomm_tty_write_room(), irda_accept(), irda_bind(), irda_connect_response(), irda_data_indication(), irda_destroy_socket(), irda_device_dongle_cleanup(), irda_device_dongle_init(), irda_device_set_media_busy(), irda_device_setup(), irda_discover_daddr_and_lsap_sel(), irda_find_lsap_sel(), irda_flow_indication(), irda_getvalue_confirm(), irda_param_extract(), irda_param_extract_all(), irda_param_insert(), irda_qos_bits_to_value(), irda_qos_compute_intersection(), irda_recvmsg_dgram(), irda_recvmsg_stream(), irda_sendmsg(), irda_sendmsg_dgram(), irda_set_compression(), irda_setsockopt(), irda_shutdown(), irda_simple_getvalue_confirm(), irda_task_kick(), iriap_call_indication(), iriap_close(), iriap_connect_confirm(), iriap_connect_indication(), iriap_connect_request(), iriap_data_indication(), iriap_disconnect_indication(), iriap_disconnect_request(), iriap_do_call_event(), iriap_do_client_event(), iriap_do_r_connect_event(), iriap_do_server_event(), iriap_getvaluebyclass_confirm(), iriap_getvaluebyclass_indication(), iriap_getvaluebyclass_request(), iriap_getvaluebyclass_response(), iriap_next_call_state(), iriap_next_client_state(), iriap_next_r_connect_state(), iriap_next_server_state(), iriap_send_ack(), iriap_watchdog_timer_expired(), irias_add_attrib(), irias_add_integer_attrib(), irias_add_octseq_attrib(), irias_add_string_attrib(), irias_delete_object(), irias_delete_value(), irias_find_attrib(), irias_find_object(), irias_insert_object(), irlan_check_command_param(), irlan_check_response_param(), irlan_client_ctrl_connect_confirm(), irlan_client_ctrl_data_indication(), irlan_client_ctrl_disconnect_indication(), irlan_client_discovery_indication(), irlan_client_get_value_confirm(), irlan_client_kick_timer_expired(), irlan_client_open_ctrl_tsap(), irlan_client_parse_response(), irlan_client_reconnect_data_channel(), irlan_client_state_arb(), irlan_client_state_conn(), irlan_client_state_data(), irlan_client_state_idle(), irlan_client_state_info(), irlan_client_state_media(), irlan_client_state_open(), irlan_client_state_query(), irlan_client_state_wait(), irlan_client_wakeup(), irlan_close_data_channel(), irlan_close_tsaps(), irlan_connect_confirm(), irlan_connect_indication(), irlan_disconnect_indication(), irlan_do_client_event(), irlan_do_provider_event(), irlan_eth_flow_indication(), irlan_eth_get_stats(), irlan_eth_init(), irlan_eth_open(), irlan_eth_receive(), irlan_eth_set_multicast_list(), irlan_eth_xmit(), irlan_get_media_char(), irlan_get_provider_info(), irlan_get_unicast_addr(), irlan_ias_register(), irlan_next_client_state(), irlan_next_provider_state(), irlan_open(), irlan_open_data_channel(), irlan_open_data_tsap(), irlan_open_unicast_addr(), irlan_provider_connect_indication(), irlan_provider_connect_response(), irlan_provider_data_indication(), irlan_provider_disconnect_indication(), irlan_provider_open_ctrl_tsap(), irlan_provider_parse_command(), irlan_provider_send_reply(), irlan_provider_state_data(), irlan_provider_state_idle(), irlan_provider_state_info(), irlan_provider_state_open(), irlan_set_broadcast_filter(), irlan_set_multicast_filter(), irlap_adjust_qos_settings(), irlap_apply_connection_parameters(), irlap_apply_default_connection_parameters(), irlap_backoff_timer_expired(), irlap_change_speed(), irlap_cleanup(), irlap_close(), irlap_compress_frame(), irlap_compressor_init(), irlap_connect_confirm(), irlap_connect_indication(), irlap_connect_request(), irlap_data_request(), irlap_decompress_frame(), irlap_disconnect_indication(), irlap_disconnect_request(), irlap_discovery_confirm(), irlap_discovery_indication(), irlap_discovery_request(), irlap_final_timer_expired(), irlap_flush_all_queues(), irlap_generate_rand_time_slot(), irlap_init_qos_capabilities(), irlap_initiate_connection_state(), irlap_max_line_capacity(), irlap_media_busy_expired(), irlap_param_additional_bofs(), irlap_param_baud_rate(), irlap_param_data_size(), irlap_param_link_disconnect(), irlap_param_max_turn_time(), irlap_param_min_turn_time(), irlap_param_window_size(), irlap_poll_timer_expired(), irlap_query_timer_expired(), irlap_recv_discovery_xid_rsp(), irlap_recv_frmr_frame(), irlap_resend_rejected_frame(), irlap_resend_rejected_frames(), irlap_reset_indication(), irlap_send_data_secondary_final(), irlap_send_disc_frame(), irlap_send_discovery_xid_frame(), irlap_send_dm_frame(), irlap_send_frmr_frame(), irlap_send_snrm_frame(), irlap_send_ua_response_frame(), irlap_send_ui_frame(), irlap_slot_timer_expired(), irlap_start_poll_timer(), irlap_state_conn(), irlap_state_ndm(), irlap_state_nrm_p(), irlap_state_nrm_s(), irlap_state_pclose(), irlap_state_query(), irlap_state_reply(), irlap_state_reset(), irlap_state_reset_check(), irlap_state_reset_wait(), irlap_state_sclose(), irlap_state_setup(), irlap_state_xmit_s(), irlap_wd_timer_expired(), irlmp_cleanup(), irlmp_close_lsap(), irlmp_connect_confirm(), irlmp_connect_indication(), irlmp_connect_request(), irlmp_connect_response(), irlmp_data_request(), irlmp_disconnect_indication(), irlmp_disconnect_request(), irlmp_discovery_confirm(), irlmp_do_discovery(), irlmp_do_lap_event(), irlmp_do_lsap_event(), irlmp_dump_discoveries(), irlmp_find_free_slsap(), irlmp_get_daddr(), irlmp_get_discovery_response(), irlmp_get_lap_tx_queue_len(), irlmp_get_saddr(), irlmp_idle_timer_expired(), irlmp_link_connect_confirm(), irlmp_link_connect_indication(), irlmp_link_data_indication(), irlmp_link_disconnect_indication(), irlmp_link_discovery_confirm(), irlmp_link_discovery_indication(), irlmp_next_lsap_state(), irlmp_open_lsap(), irlmp_register_link(), irlmp_send_lcf_pdu(), irlmp_slsap_inuse(), irlmp_state_active(), irlmp_state_connect(), irlmp_state_connect_pend(), irlmp_state_disconnected(), irlmp_state_dtr(), irlmp_state_setup(), irlmp_state_setup_pend(), irlmp_state_standby(), irlmp_state_u_connect(), irlmp_udata_indication(), irlmp_udata_request(), irlmp_unregister_link(), irlmp_watchdog_timer_expired(), irport_change_speed(), irport_change_speed_complete(), irport_close(), irport_hard_xmit(), irport_net_close(), irport_net_ioctl(), irport_net_open(), irport_raw_write(), irport_receive(), irport_set_dtr_rts(), irport_write_wakeup(), irttp_close_tsap(), irttp_connect_confirm(), irttp_connect_indication(), irttp_connect_request(), irttp_connect_response(), irttp_data_request(), irttp_disconnect_indication(), irttp_disconnect_request(), irttp_flow_request(), irttp_flush_queues(), irttp_fragment_skb(), irttp_give_credit(), irttp_open_tsap(), irttp_param_max_sdu_size(), irttp_reassemble_skb(), irttp_start_todo_timer(), irttp_udata_indication(), irttp_udata_request(), irtty_change_speed(), irtty_change_speed_complete(), irtty_close(), irtty_hard_xmit(), irtty_ioctl(), irtty_net_close(), irtty_net_ioctl(), irtty_net_open(), irtty_open(), irtty_raw_read(), irtty_raw_write(), irtty_set_mode(), irtty_write_wakeup(), li_read_ad1843_reg(), li_setup_dma(), li_write_swptr(), nsc_ircc_change_speed(), nsc_ircc_dma_receive(), nsc_ircc_hard_xmit_fir(), nsc_ircc_hard_xmit_sir(), nsc_ircc_is_receiving(), nsc_ircc_net_close(), nsc_ircc_net_ioctl(), nsc_ircc_net_open(), nsc_ircc_pio_receive(), pcm_copy_in(), pcm_copy_out(), pcm_input(), pcm_output(), pcm_setup(), state_r_execute(), state_s_call(), state_s_connecting(), state_s_disconnect(), state_s_make_call(), state_s_outstanding(), strdup(), tekram_change_speed(), tekram_reset(), toshoboe_hard_xmit(), toshoboe_net_close(), toshoboe_net_ioctl(), toshoboe_net_open(), UxCardMemAttach(), vwsnd_audio_do_ioctl(), vwsnd_audio_open(), vwsnd_audio_poll(), w83977af_dma_receive(), w83977af_dma_xmit_complete(), w83977af_is_receiving(), w83977af_net_close(), w83977af_net_ioctl(), w83977af_net_open(), and w83977af_pio_receive().

#define CI_MASK   (SC_SIZE - SC_LINE)
 

Definition at line 30 of file indy_sc.c.

#define DEASSERT bit   )     (*(cpu_control) &= (~(bit)))
 

Referenced by __initfunc().

#define DELAY   for(n = 0; n < 100000; n++) __asm__ __volatile__("")
 

Referenced by __initfunc(), aha152x_reset(), alloc586(), check586(), eata_abort(), eata_detect(), eata_int_handler(), eata_pio_abort(), eata_pio_detect(), eata_pio_int_handler(), eata_pio_queue(), eata_pio_reset(), eata_queue(), eata_reset(), get_board_data(), init586(), print_config(), print_pio_config(), and xpds_reset().

#define SC_INDEX n   )     ((n) & CI_MASK)
 

Definition at line 32 of file indy_sc.c.

Referenced by indy_sc_wback_invalidate().

#define SC_LINE   32
 

Definition at line 29 of file indy_sc.c.

Referenced by indy_sc_wback_invalidate().

#define SC_ROUND n   )     ((n) + SC_LINE - 1)
 

Definition at line 31 of file indy_sc.c.

#define SC_SIZE   0x00080000
 

Definition at line 28 of file indy_sc.c.

Referenced by indy_sc_wback_invalidate().


Function Documentation

__initfunc void   indy_sc_init(void)  ) 
 

Definition at line 222 of file indy_sc.c.

References bcops, and indy_sc_enable().

Here is the call graph for this function:

__initfunc static inline int   indy_sc_probe(void)  ) 
 

Definition at line 153 of file indy_sc.c.

References ASSERT, data, DEASSERT, DELAY, i, KSEG1ADDR, n, PAGE_SHIFT, printk, scache_size, SGIMC_EEPROM_CSEL, SGIMC_EEPROM_PRE, SGIMC_EEPROM_SDATAI, SGIMC_EEPROM_SDATAO, SGIMC_EEPROM_SECLOCK, and tmp.

static void indy_sc_disable void   )  [static]
 

Definition at line 123 of file indy_sc.c.

References __asm__(), printk, tmp1, and tmp2.

Here is the call graph for this function:

static void indy_sc_enable void   )  [static]
 

Definition at line 92 of file indy_sc.c.

References __asm__(), addr, printk, tmp1, and tmp2.

Referenced by __initfunc().

Here is the call graph for this function:

static void indy_sc_wback_invalidate unsigned long  addr,
unsigned long  size
[static]
 

Definition at line 62 of file indy_sc.c.

References __restore_flags, __save_and_cli, indy_sc_wipe(), out, printk, SC_INDEX, SC_LINE, and SC_SIZE.

Here is the call graph for this function:

static void indy_sc_wipe unsigned long  first,
unsigned long  last
[inline, static]
 

Definition at line 34 of file indy_sc.c.

References __asm__().

Referenced by indy_sc_wback_invalidate().

Here is the call graph for this function:


Variable Documentation

struct bcache_ops indy_sc_ops
 

Initial value:

 {
        indy_sc_enable,
        indy_sc_disable,
        indy_sc_wback_invalidate,
        indy_sc_wback_invalidate
}

Definition at line 215 of file indy_sc.c.

unsigned long scache_size [static]
 

Definition at line 24 of file indy_sc.c.