H A D | megaraid_mbox.c | 716 mraid_device_t *raid_dev; megaraid_init_mbox() local 728 raid_dev = kzalloc(sizeof(mraid_device_t), GFP_KERNEL); megaraid_init_mbox() 729 if (raid_dev == NULL) return -1; megaraid_init_mbox() 735 adapter->raid_device = (caddr_t)raid_dev; megaraid_init_mbox() 736 raid_dev->fast_load = megaraid_fast_load; megaraid_init_mbox() 740 raid_dev->baseport = pci_resource_start(pdev, 0); megaraid_init_mbox() 750 raid_dev->baseaddr = ioremap_nocache(raid_dev->baseport, 128); megaraid_init_mbox() 752 if (!raid_dev->baseaddr) { megaraid_init_mbox() 761 spin_lock_init(&raid_dev->mailbox_lock); megaraid_init_mbox() 832 raid_dev->random_del_supported = 1; megaraid_init_mbox() 911 iounmap(raid_dev->baseaddr); megaraid_init_mbox() 915 kfree(raid_dev); megaraid_init_mbox() 928 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_fini_mbox() local 941 iounmap(raid_dev->baseaddr); megaraid_fini_mbox() 945 kfree(raid_dev); megaraid_fini_mbox() 963 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_alloc_cmd_packets() local 980 raid_dev->una_mbox64 = pci_zalloc_consistent(adapter->pdev, megaraid_alloc_cmd_packets() 982 &raid_dev->una_mbox64_dma); megaraid_alloc_cmd_packets() 984 if (!raid_dev->una_mbox64) { megaraid_alloc_cmd_packets() 994 raid_dev->mbox = &raid_dev->una_mbox64->mbox32; megaraid_alloc_cmd_packets() 996 raid_dev->mbox = (mbox_t *)((((unsigned long)raid_dev->mbox) + 15) & megaraid_alloc_cmd_packets() 999 raid_dev->mbox64 = (mbox64_t *)(((unsigned long)raid_dev->mbox) - 8); megaraid_alloc_cmd_packets() 1001 align = ((void *)raid_dev->mbox - megaraid_alloc_cmd_packets() 1002 ((void *)&raid_dev->una_mbox64->mbox32)); megaraid_alloc_cmd_packets() 1004 raid_dev->mbox_dma = (unsigned long)raid_dev->una_mbox64_dma + 8 + megaraid_alloc_cmd_packets() 1048 epthru_pci_blk = raid_dev->epthru_pool; megaraid_alloc_cmd_packets() 1049 sg_pci_blk = raid_dev->sg_pool; megaraid_alloc_cmd_packets() 1050 mbox_pci_blk = raid_dev->mbox_pool; megaraid_alloc_cmd_packets() 1054 ccb = raid_dev->ccb_list + i; megaraid_alloc_cmd_packets() 1107 (caddr_t)raid_dev->una_mbox64, raid_dev->una_mbox64_dma); megaraid_alloc_cmd_packets() 1122 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_free_cmd_packets() local 1132 (caddr_t)raid_dev->una_mbox64, raid_dev->una_mbox64_dma); megaraid_free_cmd_packets() 1147 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_mbox_setup_dma_pools() local 1156 raid_dev->mbox_pool_handle = pci_pool_create("megaraid mbox pool", megaraid_mbox_setup_dma_pools() 1161 if (raid_dev->mbox_pool_handle == NULL) { megaraid_mbox_setup_dma_pools() 1165 mbox_pci_blk = raid_dev->mbox_pool; megaraid_mbox_setup_dma_pools() 1168 raid_dev->mbox_pool_handle, megaraid_mbox_setup_dma_pools() 1184 raid_dev->epthru_pool_handle = pci_pool_create("megaraid mbox pthru", megaraid_mbox_setup_dma_pools() 1187 if (raid_dev->epthru_pool_handle == NULL) { megaraid_mbox_setup_dma_pools() 1191 epthru_pci_blk = raid_dev->epthru_pool; megaraid_mbox_setup_dma_pools() 1194 raid_dev->epthru_pool_handle, megaraid_mbox_setup_dma_pools() 1205 raid_dev->sg_pool_handle = pci_pool_create("megaraid mbox sg", megaraid_mbox_setup_dma_pools() 1210 if (raid_dev->sg_pool_handle == NULL) { megaraid_mbox_setup_dma_pools() 1214 sg_pci_blk = raid_dev->sg_pool; megaraid_mbox_setup_dma_pools() 1217 raid_dev->sg_pool_handle, megaraid_mbox_setup_dma_pools() 1243 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_mbox_teardown_dma_pools() local 1250 sg_pci_blk = raid_dev->sg_pool; megaraid_mbox_teardown_dma_pools() 1252 pci_pool_free(raid_dev->sg_pool_handle, sg_pci_blk[i].vaddr, megaraid_mbox_teardown_dma_pools() 1255 if (raid_dev->sg_pool_handle) megaraid_mbox_teardown_dma_pools() 1256 pci_pool_destroy(raid_dev->sg_pool_handle); megaraid_mbox_teardown_dma_pools() 1259 epthru_pci_blk = raid_dev->epthru_pool; megaraid_mbox_teardown_dma_pools() 1261 pci_pool_free(raid_dev->epthru_pool_handle, megaraid_mbox_teardown_dma_pools() 1264 if (raid_dev->epthru_pool_handle) megaraid_mbox_teardown_dma_pools() 1265 pci_pool_destroy(raid_dev->epthru_pool_handle); megaraid_mbox_teardown_dma_pools() 1268 mbox_pci_blk = raid_dev->mbox_pool; megaraid_mbox_teardown_dma_pools() 1270 pci_pool_free(raid_dev->mbox_pool_handle, megaraid_mbox_teardown_dma_pools() 1273 if (raid_dev->mbox_pool_handle) megaraid_mbox_teardown_dma_pools() 1274 pci_pool_destroy(raid_dev->mbox_pool_handle); megaraid_mbox_teardown_dma_pools() 1393 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); mbox_post_cmd() local 1402 mbox = raid_dev->mbox; mbox_post_cmd() 1403 mbox64 = raid_dev->mbox64; mbox_post_cmd() 1409 spin_lock_irqsave(MAILBOX_LOCK(raid_dev), flags); mbox_post_cmd() 1420 spin_unlock_irqrestore(MAILBOX_LOCK(raid_dev), flags); mbox_post_cmd() 1444 WRINDOOR(raid_dev, raid_dev->mbox_dma | 0x1); mbox_post_cmd() 1446 spin_unlock_irqrestore(MAILBOX_LOCK(raid_dev), flags); mbox_post_cmd() 2058 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_ack_sequence() local 2070 mbox = raid_dev->mbox; megaraid_ack_sequence() 2077 spin_lock_irqsave(MAILBOX_LOCK(raid_dev), flags); megaraid_ack_sequence() 2083 dword = RDOUTDOOR(raid_dev); megaraid_ack_sequence() 2088 WROUTDOOR(raid_dev, 0x10001234); megaraid_ack_sequence() 2137 WRINDOOR(raid_dev, 0x02); megaraid_ack_sequence() 2141 spin_unlock_irqrestore(MAILBOX_LOCK(raid_dev), flags); megaraid_ack_sequence() 2222 mraid_device_t *raid_dev; megaraid_mbox_dpc() local 2243 raid_dev = ADAP2RAIDDEV(adapter); megaraid_mbox_dpc() 2306 && IS_RAID_CH(raid_dev, scb->dev_channel)) { megaraid_mbox_dpc() 2322 raid_dev->pdrv_state[pdev_index] & 0x0F; megaraid_mbox_dpc() 2437 mraid_device_t *raid_dev; megaraid_abort_handler() local 2446 raid_dev = ADAP2RAIDDEV(adapter); megaraid_abort_handler() 2454 if (raid_dev->hw_error) { megaraid_abort_handler() 2577 mraid_device_t *raid_dev; megaraid_reset_handler() local 2587 raid_dev = ADAP2RAIDDEV(adapter); megaraid_reset_handler() 2590 if (raid_dev->hw_error) { megaraid_reset_handler() 2674 raid_dev->hw_error = 1; megaraid_reset_handler() 2729 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); mbox_post_sync_cmd() local 2736 mbox64 = raid_dev->mbox64; mbox_post_sync_cmd() 2737 mbox = raid_dev->mbox; mbox_post_sync_cmd() 2742 if (megaraid_busywait_mbox(raid_dev) != 0) mbox_post_sync_cmd() 2757 WRINDOOR(raid_dev, raid_dev->mbox_dma | 0x1); mbox_post_sync_cmd() 2810 WRINDOOR(raid_dev, raid_dev->mbox_dma | 0x2); mbox_post_sync_cmd() 2814 if (RDINDOOR(raid_dev) & 0x2) { mbox_post_sync_cmd() 2817 for (i = 0; (RDINDOOR(raid_dev) & 0x2) && (i < 1000); i++) { mbox_post_sync_cmd() 2862 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); mbox_post_sync_cmd_fast() local 2867 mbox = raid_dev->mbox; mbox_post_sync_cmd_fast() 2882 WRINDOOR(raid_dev, raid_dev->mbox_dma | 0x1); mbox_post_sync_cmd_fast() 2896 WRINDOOR(raid_dev, raid_dev->mbox_dma | 0x2); mbox_post_sync_cmd_fast() 2905 * @raid_dev : RAID device (HBA) soft state 2911 megaraid_busywait_mbox(mraid_device_t *raid_dev) megaraid_busywait_mbox() argument 2913 mbox_t *mbox = raid_dev->mbox; megaraid_busywait_mbox() 2937 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_mbox_product_info() local 2989 raid_dev->pdrv_state[i] = mraid_inq3->pdrv_state[i]; megaraid_mbox_product_info() 3232 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_mbox_enum_raid_scsi() local 3250 raid_dev->channel_class = 0xFF; megaraid_mbox_enum_raid_scsi() 3252 raid_dev->channel_class = *(uint8_t *)adapter->ibuf; megaraid_mbox_enum_raid_scsi() 3303 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_mbox_fire_sync_cmd() local 3315 mbox64 = raid_dev->mbox64; megaraid_mbox_fire_sync_cmd() 3316 mbox = raid_dev->mbox; megaraid_mbox_fire_sync_cmd() 3319 if (megaraid_busywait_mbox(raid_dev) != 0) { megaraid_mbox_fire_sync_cmd() 3334 WRINDOOR(raid_dev, raid_dev->mbox_dma | 0x1); megaraid_mbox_fire_sync_cmd() 3359 dword = RDOUTDOOR(raid_dev); megaraid_mbox_fire_sync_cmd() 3360 WROUTDOOR(raid_dev, dword); megaraid_mbox_fire_sync_cmd() 3361 WRINDOOR(raid_dev,2); megaraid_mbox_fire_sync_cmd() 3472 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_cmm_register() local 3505 ccb = raid_dev->uccb_list + i; megaraid_cmm_register() 3508 ccb->mbox64 = raid_dev->umbox64 + i; megaraid_cmm_register() 3841 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_sysfs_alloc_resources() local 3844 raid_dev->sysfs_uioc = kmalloc(sizeof(uioc_t), GFP_KERNEL); megaraid_sysfs_alloc_resources() 3846 raid_dev->sysfs_mbox64 = kmalloc(sizeof(mbox64_t), GFP_KERNEL); megaraid_sysfs_alloc_resources() 3848 raid_dev->sysfs_buffer = pci_alloc_consistent(adapter->pdev, megaraid_sysfs_alloc_resources() 3849 PAGE_SIZE, &raid_dev->sysfs_buffer_dma); megaraid_sysfs_alloc_resources() 3851 if (!raid_dev->sysfs_uioc || !raid_dev->sysfs_mbox64 || megaraid_sysfs_alloc_resources() 3852 !raid_dev->sysfs_buffer) { megaraid_sysfs_alloc_resources() 3863 mutex_init(&raid_dev->sysfs_mtx); megaraid_sysfs_alloc_resources() 3865 init_waitqueue_head(&raid_dev->sysfs_wait_q); megaraid_sysfs_alloc_resources() 3880 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_sysfs_free_resources() local 3882 kfree(raid_dev->sysfs_uioc); megaraid_sysfs_free_resources() 3883 kfree(raid_dev->sysfs_mbox64); megaraid_sysfs_free_resources() 3885 if (raid_dev->sysfs_buffer) { megaraid_sysfs_free_resources() 3887 raid_dev->sysfs_buffer, raid_dev->sysfs_buffer_dma); megaraid_sysfs_free_resources() 3902 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_sysfs_get_ldmap_done() local 3906 wake_up(&raid_dev->sysfs_wait_q); megaraid_sysfs_get_ldmap_done() 3923 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_sysfs_get_ldmap_timeout() local 3927 wake_up(&raid_dev->sysfs_wait_q); megaraid_sysfs_get_ldmap_timeout() 3951 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_sysfs_get_ldmap() local 3964 mutex_lock(&raid_dev->sysfs_mtx); megaraid_sysfs_get_ldmap() 3966 uioc = raid_dev->sysfs_uioc; megaraid_sysfs_get_ldmap() 3967 mbox64 = raid_dev->sysfs_mbox64; megaraid_sysfs_get_ldmap() 3968 ldmap = raid_dev->sysfs_buffer; megaraid_sysfs_get_ldmap() 3972 memset(ldmap, 0, sizeof(raid_dev->curr_ldmap)); megaraid_sysfs_get_ldmap() 3985 mbox->xferaddr = (uint32_t)raid_dev->sysfs_buffer_dma; megaraid_sysfs_get_ldmap() 4008 wait_event(raid_dev->sysfs_wait_q, (uioc->status != -ENODATA)); megaraid_sysfs_get_ldmap() 4024 memcpy(raid_dev->curr_ldmap, ldmap, megaraid_sysfs_get_ldmap() 4025 sizeof(raid_dev->curr_ldmap)); megaraid_sysfs_get_ldmap() 4040 mutex_unlock(&raid_dev->sysfs_mtx); megaraid_sysfs_get_ldmap() 4089 mraid_device_t *raid_dev = ADAP2RAIDDEV(adapter); megaraid_sysfs_show_ldnum() local 4098 if (raid_dev->random_del_supported && megaraid_sysfs_show_ldnum() 4112 if (raid_dev->curr_ldmap[i] == mapped_sdev_id) { megaraid_sysfs_show_ldnum() 4118 ldid_map = raid_dev->curr_ldmap[i]; megaraid_sysfs_show_ldnum()
|