RapidIO Subsystem Guide(2).pdf
(
922 KB
)
Pobierz
RapidIO Subsystem Guide
Matt Porter
mporter@kernel.crashing.org
mporter@mvista.com
RapidIO Subsystem Guide
by Matt Porter
Copyright © 2005 MontaVista Software, Inc.
This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
For more details see the file COPYING in the source distribution of Linux.
Table of Contents
1. Introduction............................................................................................................................................1
2. Known Bugs and Limitations ...............................................................................................................2
2.1. Bugs ............................................................................................................................................2
2.2. Limitations ..................................................................................................................................2
3. RapidIO driver interface ......................................................................................................................3
3.1. Functions .....................................................................................................................................3
rio_local_read_config_32 .........................................................................................................3
rio_local_write_config_32........................................................................................................4
rio_local_read_config_16 .........................................................................................................4
rio_local_write_config_16........................................................................................................5
rio_local_read_config_8 ...........................................................................................................6
rio_local_write_config_8..........................................................................................................7
rio_read_config_32...................................................................................................................8
rio_write_config_32 .................................................................................................................9
rio_read_config_16...................................................................................................................9
rio_write_config_16 ...............................................................................................................10
rio_read_config_8...................................................................................................................11
rio_write_config_8 .................................................................................................................12
rio_send_doorbell ...................................................................................................................13
rio_init_mbox_res...................................................................................................................13
rio_init_dbell_res....................................................................................................................14
RIO_DEVICE.........................................................................................................................15
rio_add_outb_message ...........................................................................................................16
rio_add_inb_buffer .................................................................................................................17
rio_get_inb_message ..............................................................................................................18
rio_name .................................................................................................................................19
rio_get_drvdata.......................................................................................................................19
rio_set_drvdata .......................................................................................................................20
rio_dev_get .............................................................................................................................21
rio_dev_put.............................................................................................................................22
rio_register_driver ..................................................................................................................22
rio_unregister_driver ..............................................................................................................23
rio_local_get_device_id..........................................................................................................24
rio_request_inb_mbox............................................................................................................24
rio_release_inb_mbox ............................................................................................................25
rio_request_outb_mbox..........................................................................................................26
rio_release_outb_mbox ..........................................................................................................27
rio_request_inb_dbell .............................................................................................................28
rio_release_inb_dbell .............................................................................................................29
rio_request_outb_dbell ...........................................................................................................30
rio_release_outb_dbell ...........................................................................................................31
rio_get_asm ............................................................................................................................32
rio_get_device ........................................................................................................................33
iii
4. Internals................................................................................................................................................34
4.1. Structures ..................................................................................................................................34
struct rio_dev ..........................................................................................................................34
struct rio_msg .........................................................................................................................36
struct rio_dbell........................................................................................................................37
struct rio_mport ......................................................................................................................37
struct rio_net...........................................................................................................................39
struct rio_switch .....................................................................................................................40
struct rio_ops ..........................................................................................................................41
struct rio_driver ......................................................................................................................42
struct rio_device_id ................................................................................................................44
struct rio_route_ops ................................................................................................................44
4.2. Enumeration and Discovery ......................................................................................................45
rio_get_device_id ...................................................................................................................46
rio_set_device_id....................................................................................................................46
rio_local_set_device_id ..........................................................................................................47
rio_clear_locks .......................................................................................................................48
rio_enum_host ........................................................................................................................49
rio_device_has_destid ............................................................................................................49
rio_release_dev.......................................................................................................................50
rio_is_switch...........................................................................................................................51
rio_route_set_ops ...................................................................................................................52
rio_add_device........................................................................................................................52
rio_setup_device.....................................................................................................................53
rio_sport_is_active..................................................................................................................54
rio_route_add_entry ...............................................................................................................55
rio_route_get_entry ................................................................................................................56
rio_get_host_deviceid_lock....................................................................................................57
rio_get_swpinfo_inport ..........................................................................................................58
rio_get_swpinfo_tports...........................................................................................................59
rio_net_add_mport .................................................................................................................60
rio_enum_peer........................................................................................................................60
rio_enum_complete ................................................................................................................61
rio_disc_peer ..........................................................................................................................62
rio_mport_is_active ................................................................................................................63
rio_alloc_net ...........................................................................................................................63
rio_update_route_tables .........................................................................................................64
rio_enum_mport .....................................................................................................................65
rio_build_route_tables ............................................................................................................66
rio_enum_timeout...................................................................................................................66
rio_disc_mport........................................................................................................................67
4.3. Driver functionality ...................................................................................................................68
rio_setup_inb_dbell ................................................................................................................68
rio_mport_get_feature ............................................................................................................69
RIO_LOP_READ...................................................................................................................70
RIO_LOP_WRITE .................................................................................................................71
RIO_OP_READ .....................................................................................................................72
RIO_OP_WRITE ...................................................................................................................73
iv
4.4. Device model support ...............................................................................................................73
rio_match_device....................................................................................................................74
rio_device_probe ....................................................................................................................74
rio_device_remove .................................................................................................................75
rio_match_bus ........................................................................................................................76
rio_bus_init.............................................................................................................................77
4.5. Sysfs support .............................................................................................................................77
rio_create_sysfs_dev_files......................................................................................................77
rio_remove_sysfs_dev_files ...................................................................................................78
4.6. PPC32 support...........................................................................................................................79
rio_hw_add_outb_message ....................................................................................................79
rio_hw_add_inb_buffer ..........................................................................................................80
rio_hw_get_inb_message .......................................................................................................81
fsl_rio_doorbell_send .............................................................................................................81
fsl_local_config_read .............................................................................................................82
fsl_local_config_write ............................................................................................................83
fsl_rio_config_read.................................................................................................................84
fsl_rio_config_write ...............................................................................................................85
fsl_rio_tx_handler...................................................................................................................87
rio_open_outb_mbox..............................................................................................................87
rio_close_outb_mbox .............................................................................................................88
fsl_rio_rx_handler ..................................................................................................................89
rio_open_inb_mbox................................................................................................................90
rio_close_inb_mbox ...............................................................................................................91
fsl_rio_dbell_handler..............................................................................................................92
fsl_rio_doorbell_init ...............................................................................................................92
fsl_rio_setup ...........................................................................................................................93
5. Credits...................................................................................................................................................95
v
Plik z chomika:
musli_com
Inne pliki z tego folderu:
3A(1).pdf
(343 KB)
A Closer Look At Ethical Hacking And Hackers(1).pdf
(83 KB)
A Practical Fault Attack on Square and Multiply(1).pdf
(366 KB)
A Primer on Scientific Programming with Python (2009)(1).pdf
(6983 KB)
A+(2).zip
(9992 KB)
Inne foldery tego chomika:
CloudStack
distribution
dsp
electronics
LPI
Zgłoś jeśli
naruszono regulamin