stdev 47 drivers/ntb/hw/mscc/ntb_hw_switchtec.c struct switchtec_dev *stdev; stdev 144 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 282 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, "MW %d: part %d addr %pad size %pap\n", stdev 299 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 325 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 421 drivers/ntb/hw/mscc/ntb_hw_switchtec.c struct switchtec_dev *stdev = sndev->stdev; stdev 423 drivers/ntb/hw/mscc/ntb_hw_switchtec.c u32 pff = ioread32(&stdev->mmio_part_cfg[partition].vep_pff_inst_id); stdev 424 drivers/ntb/hw/mscc/ntb_hw_switchtec.c u32 linksta = ioread32(&stdev->mmio_pff_csr[pff].pci_cap_region[13]); stdev 510 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_info(&sndev->stdev->dev, "ntb link %s\n", stdev 532 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_info(&sndev->stdev->dev, "ntb link forced down\n"); stdev 550 drivers/ntb/hw/mscc/ntb_hw_switchtec.c static void switchtec_ntb_link_notification(struct switchtec_dev *stdev) stdev 552 drivers/ntb/hw/mscc/ntb_hw_switchtec.c struct switchtec_ntb *sndev = stdev->sndev; stdev 577 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, "enabling link\n"); stdev 591 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, "disabling link\n"); stdev 698 drivers/ntb/hw/mscc/ntb_hw_switchtec.c (unsigned long)sndev->stdev->mmio; stdev 803 drivers/ntb/hw/mscc/ntb_hw_switchtec.c (unsigned long)sndev->stdev->mmio; stdev 845 drivers/ntb/hw/mscc/ntb_hw_switchtec.c sndev->ntb.pdev = sndev->stdev->pdev; stdev 852 drivers/ntb/hw/mscc/ntb_hw_switchtec.c sndev->self_partition = sndev->stdev->partition; stdev 854 drivers/ntb/hw/mscc/ntb_hw_switchtec.c sndev->mmio_ntb = sndev->stdev->mmio_ntb; stdev 865 drivers/ntb/hw/mscc/ntb_hw_switchtec.c if (sndev->stdev->partition_count != 2) { stdev 866 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 873 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 881 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 888 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 894 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, "Partition ID %d of %d\n", stdev 895 drivers/ntb/hw/mscc/ntb_hw_switchtec.c sndev->self_partition, sndev->stdev->partition_count); stdev 940 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 958 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 977 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, stdev 990 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 1055 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 1092 drivers/ntb/hw/mscc/ntb_hw_switchtec.c &sndev->stdev->mmio_part_cfg_all[sndev->peer_partition]; stdev 1095 drivers/ntb/hw/mscc/ntb_hw_switchtec.c &sndev->stdev->mmio_pff_csr[pff]; stdev 1108 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, stdev 1134 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_info(&sndev->stdev->dev, "Using crosslink configuration\n"); stdev 1139 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 1165 drivers/ntb/hw/mscc/ntb_hw_switchtec.c sndev->mmio_xlink_win = pci_iomap_range(sndev->stdev->pdev, bar, stdev 1183 drivers/ntb/hw/mscc/ntb_hw_switchtec.c pci_iounmap(sndev->stdev->pdev, sndev->mmio_xlink_win); stdev 1209 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, "MWs: %d direct, %d lut\n", stdev 1219 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, "Peer MWs: %d direct, %d lut\n", stdev 1256 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, "dbs: shift %d/%d, mask %016llx\n", stdev 1303 drivers/ntb/hw/mscc/ntb_hw_switchtec.c sndev->self_shared->partition_id = sndev->stdev->partition; stdev 1307 drivers/ntb/hw/mscc/ntb_hw_switchtec.c resource_size_t sz = pci_resource_len(sndev->stdev->pdev, bar); stdev 1329 drivers/ntb/hw/mscc/ntb_hw_switchtec.c sndev->self_shared = dma_alloc_coherent(&sndev->stdev->pdev->dev, stdev 1334 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_err(&sndev->stdev->dev, stdev 1347 drivers/ntb/hw/mscc/ntb_hw_switchtec.c sndev->peer_shared = pci_iomap(sndev->stdev->pdev, self_bar, LUT_SIZE); stdev 1353 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, "Shared MW Ready\n"); stdev 1357 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dma_free_coherent(&sndev->stdev->pdev->dev, LUT_SIZE, stdev 1366 drivers/ntb/hw/mscc/ntb_hw_switchtec.c pci_iounmap(sndev->stdev->pdev, sndev->peer_shared); stdev 1369 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dma_free_coherent(&sndev->stdev->pdev->dev, LUT_SIZE, stdev 1379 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, "doorbell\n"); stdev 1395 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, "message: %d %08x\n", stdev 1416 drivers/ntb/hw/mscc/ntb_hw_switchtec.c event_irq = ioread32(&sndev->stdev->mmio_part_cfg->vep_vector_number); stdev 1424 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_dbg(&sndev->stdev->dev, "irqs - event: %d, db: %d, msgs: %d\n", stdev 1435 drivers/ntb/hw/mscc/ntb_hw_switchtec.c sndev->doorbell_irq = pci_irq_vector(sndev->stdev->pdev, doorbell_irq); stdev 1436 drivers/ntb/hw/mscc/ntb_hw_switchtec.c sndev->message_irq = pci_irq_vector(sndev->stdev->pdev, message_irq); stdev 1468 drivers/ntb/hw/mscc/ntb_hw_switchtec.c dev_info(&sndev->stdev->dev, "reinitialize shared memory window\n"); stdev 1478 drivers/ntb/hw/mscc/ntb_hw_switchtec.c struct switchtec_dev *stdev = to_stdev(dev); stdev 1482 drivers/ntb/hw/mscc/ntb_hw_switchtec.c stdev->sndev = NULL; stdev 1484 drivers/ntb/hw/mscc/ntb_hw_switchtec.c if (stdev->pdev->class != (PCI_CLASS_BRIDGE_OTHER << 8)) stdev 1491 drivers/ntb/hw/mscc/ntb_hw_switchtec.c sndev->stdev = stdev; stdev 1528 drivers/ntb/hw/mscc/ntb_hw_switchtec.c stdev->sndev = sndev; stdev 1529 drivers/ntb/hw/mscc/ntb_hw_switchtec.c stdev->link_notifier = switchtec_ntb_link_notification; stdev 1549 drivers/ntb/hw/mscc/ntb_hw_switchtec.c struct switchtec_dev *stdev = to_stdev(dev); stdev 1550 drivers/ntb/hw/mscc/ntb_hw_switchtec.c struct switchtec_ntb *sndev = stdev->sndev; stdev 1555 drivers/ntb/hw/mscc/ntb_hw_switchtec.c stdev->link_notifier = NULL; stdev 1556 drivers/ntb/hw/mscc/ntb_hw_switchtec.c stdev->sndev = NULL; stdev 51 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev; stdev 68 drivers/pci/switch/switchtec.c static struct switchtec_user *stuser_create(struct switchtec_dev *stdev) stdev 76 drivers/pci/switch/switchtec.c get_device(&stdev->dev); stdev 77 drivers/pci/switch/switchtec.c stuser->stdev = stdev; stdev 81 drivers/pci/switch/switchtec.c stuser->event_cnt = atomic_read(&stdev->event_cnt); stdev 83 drivers/pci/switch/switchtec.c dev_dbg(&stdev->dev, "%s: %p\n", __func__, stuser); stdev 94 drivers/pci/switch/switchtec.c dev_dbg(&stuser->stdev->dev, "%s: %p\n", __func__, stuser); stdev 96 drivers/pci/switch/switchtec.c put_device(&stuser->stdev->dev); stdev 119 drivers/pci/switch/switchtec.c dev_dbg(&stuser->stdev->dev, "stuser state %p -> %s", stdev 123 drivers/pci/switch/switchtec.c static void mrpc_complete_cmd(struct switchtec_dev *stdev); stdev 125 drivers/pci/switch/switchtec.c static void flush_wc_buf(struct switchtec_dev *stdev) stdev 133 drivers/pci/switch/switchtec.c mmio_dbmsg = (void __iomem *)stdev->mmio_ntb + stdev 138 drivers/pci/switch/switchtec.c static void mrpc_cmd_submit(struct switchtec_dev *stdev) stdev 144 drivers/pci/switch/switchtec.c if (stdev->mrpc_busy) stdev 147 drivers/pci/switch/switchtec.c if (list_empty(&stdev->mrpc_queue)) stdev 150 drivers/pci/switch/switchtec.c stuser = list_entry(stdev->mrpc_queue.next, struct switchtec_user, stdev 153 drivers/pci/switch/switchtec.c if (stdev->dma_mrpc) { stdev 154 drivers/pci/switch/switchtec.c stdev->dma_mrpc->status = SWITCHTEC_MRPC_STATUS_INPROGRESS; stdev 155 drivers/pci/switch/switchtec.c memset(stdev->dma_mrpc->data, 0xFF, SWITCHTEC_MRPC_PAYLOAD_SIZE); stdev 159 drivers/pci/switch/switchtec.c stdev->mrpc_busy = 1; stdev 160 drivers/pci/switch/switchtec.c memcpy_toio(&stdev->mmio_mrpc->input_data, stdev 162 drivers/pci/switch/switchtec.c flush_wc_buf(stdev); stdev 163 drivers/pci/switch/switchtec.c iowrite32(stuser->cmd, &stdev->mmio_mrpc->cmd); stdev 165 drivers/pci/switch/switchtec.c schedule_delayed_work(&stdev->mrpc_timeout, stdev 173 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = stuser->stdev; stdev 179 drivers/pci/switch/switchtec.c list_add_tail(&stuser->list, &stdev->mrpc_queue); stdev 181 drivers/pci/switch/switchtec.c mrpc_cmd_submit(stdev); stdev 186 drivers/pci/switch/switchtec.c static void mrpc_complete_cmd(struct switchtec_dev *stdev) stdev 191 drivers/pci/switch/switchtec.c if (list_empty(&stdev->mrpc_queue)) stdev 194 drivers/pci/switch/switchtec.c stuser = list_entry(stdev->mrpc_queue.next, struct switchtec_user, stdev 197 drivers/pci/switch/switchtec.c if (stdev->dma_mrpc) stdev 198 drivers/pci/switch/switchtec.c stuser->status = stdev->dma_mrpc->status; stdev 200 drivers/pci/switch/switchtec.c stuser->status = ioread32(&stdev->mmio_mrpc->status); stdev 211 drivers/pci/switch/switchtec.c if (stdev->dma_mrpc) stdev 212 drivers/pci/switch/switchtec.c stuser->return_code = stdev->dma_mrpc->rtn_code; stdev 214 drivers/pci/switch/switchtec.c stuser->return_code = ioread32(&stdev->mmio_mrpc->ret_value); stdev 218 drivers/pci/switch/switchtec.c if (stdev->dma_mrpc) stdev 219 drivers/pci/switch/switchtec.c memcpy(stuser->data, &stdev->dma_mrpc->data, stdev 222 drivers/pci/switch/switchtec.c memcpy_fromio(stuser->data, &stdev->mmio_mrpc->output_data, stdev 228 drivers/pci/switch/switchtec.c stdev->mrpc_busy = 0; stdev 230 drivers/pci/switch/switchtec.c mrpc_cmd_submit(stdev); stdev 235 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev; stdev 237 drivers/pci/switch/switchtec.c stdev = container_of(work, struct switchtec_dev, mrpc_work); stdev 239 drivers/pci/switch/switchtec.c dev_dbg(&stdev->dev, "%s\n", __func__); stdev 241 drivers/pci/switch/switchtec.c mutex_lock(&stdev->mrpc_mutex); stdev 242 drivers/pci/switch/switchtec.c cancel_delayed_work(&stdev->mrpc_timeout); stdev 243 drivers/pci/switch/switchtec.c mrpc_complete_cmd(stdev); stdev 244 drivers/pci/switch/switchtec.c mutex_unlock(&stdev->mrpc_mutex); stdev 249 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev; stdev 252 drivers/pci/switch/switchtec.c stdev = container_of(work, struct switchtec_dev, mrpc_timeout.work); stdev 254 drivers/pci/switch/switchtec.c dev_dbg(&stdev->dev, "%s\n", __func__); stdev 256 drivers/pci/switch/switchtec.c mutex_lock(&stdev->mrpc_mutex); stdev 258 drivers/pci/switch/switchtec.c if (stdev->dma_mrpc) stdev 259 drivers/pci/switch/switchtec.c status = stdev->dma_mrpc->status; stdev 261 drivers/pci/switch/switchtec.c status = ioread32(&stdev->mmio_mrpc->status); stdev 263 drivers/pci/switch/switchtec.c schedule_delayed_work(&stdev->mrpc_timeout, stdev 268 drivers/pci/switch/switchtec.c mrpc_complete_cmd(stdev); stdev 270 drivers/pci/switch/switchtec.c mutex_unlock(&stdev->mrpc_mutex); stdev 276 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = to_stdev(dev); stdev 279 drivers/pci/switch/switchtec.c ver = ioread32(&stdev->mmio_sys_info->device_version); stdev 288 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = to_stdev(dev); stdev 291 drivers/pci/switch/switchtec.c ver = ioread32(&stdev->mmio_sys_info->firmware_version); stdev 319 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = to_stdev(dev); \ stdev 320 drivers/pci/switch/switchtec.c return io_string_show(buf, &stdev->mmio_sys_info->field, \ stdev 321 drivers/pci/switch/switchtec.c sizeof(stdev->mmio_sys_info->field)); \ stdev 334 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = to_stdev(dev); stdev 335 drivers/pci/switch/switchtec.c int id = ioread16(&stdev->mmio_sys_info->component_id); stdev 344 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = to_stdev(dev); stdev 345 drivers/pci/switch/switchtec.c int rev = ioread8(&stdev->mmio_sys_info->component_revision); stdev 354 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = to_stdev(dev); stdev 356 drivers/pci/switch/switchtec.c return sprintf(buf, "%d\n", stdev->partition); stdev 363 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = to_stdev(dev); stdev 365 drivers/pci/switch/switchtec.c return sprintf(buf, "%d\n", stdev->partition_count); stdev 387 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev; stdev 390 drivers/pci/switch/switchtec.c stdev = container_of(inode->i_cdev, struct switchtec_dev, cdev); stdev 392 drivers/pci/switch/switchtec.c stuser = stuser_create(stdev); stdev 399 drivers/pci/switch/switchtec.c dev_dbg(&stdev->dev, "%s: %p\n", __func__, stuser); stdev 413 drivers/pci/switch/switchtec.c static int lock_mutex_and_test_alive(struct switchtec_dev *stdev) stdev 415 drivers/pci/switch/switchtec.c if (mutex_lock_interruptible(&stdev->mrpc_mutex)) stdev 418 drivers/pci/switch/switchtec.c if (!stdev->alive) { stdev 419 drivers/pci/switch/switchtec.c mutex_unlock(&stdev->mrpc_mutex); stdev 430 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = stuser->stdev; stdev 439 drivers/pci/switch/switchtec.c rc = lock_mutex_and_test_alive(stdev); stdev 464 drivers/pci/switch/switchtec.c mutex_unlock(&stdev->mrpc_mutex); stdev 476 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = stuser->stdev; stdev 483 drivers/pci/switch/switchtec.c rc = lock_mutex_and_test_alive(stdev); stdev 488 drivers/pci/switch/switchtec.c mutex_unlock(&stdev->mrpc_mutex); stdev 494 drivers/pci/switch/switchtec.c mutex_unlock(&stdev->mrpc_mutex); stdev 505 drivers/pci/switch/switchtec.c rc = lock_mutex_and_test_alive(stdev); stdev 510 drivers/pci/switch/switchtec.c mutex_unlock(&stdev->mrpc_mutex); stdev 532 drivers/pci/switch/switchtec.c mutex_unlock(&stdev->mrpc_mutex); stdev 545 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = stuser->stdev; stdev 549 drivers/pci/switch/switchtec.c poll_wait(filp, &stdev->event_wq, wait); stdev 551 drivers/pci/switch/switchtec.c if (lock_mutex_and_test_alive(stdev)) stdev 554 drivers/pci/switch/switchtec.c mutex_unlock(&stdev->mrpc_mutex); stdev 559 drivers/pci/switch/switchtec.c if (stuser->event_cnt != atomic_read(&stdev->event_cnt)) stdev 565 drivers/pci/switch/switchtec.c static int ioctl_flash_info(struct switchtec_dev *stdev, stdev 569 drivers/pci/switch/switchtec.c struct flash_info_regs __iomem *fi = stdev->mmio_flash_info; stdev 587 drivers/pci/switch/switchtec.c static int ioctl_flash_part_info(struct switchtec_dev *stdev, stdev 591 drivers/pci/switch/switchtec.c struct flash_info_regs __iomem *fi = stdev->mmio_flash_info; stdev 592 drivers/pci/switch/switchtec.c struct sys_info_regs __iomem *si = stdev->mmio_sys_info; stdev 663 drivers/pci/switch/switchtec.c static int ioctl_event_summary(struct switchtec_dev *stdev, stdev 677 drivers/pci/switch/switchtec.c s->global = ioread32(&stdev->mmio_sw_event->global_summary); stdev 678 drivers/pci/switch/switchtec.c s->part_bitmap = ioread64(&stdev->mmio_sw_event->part_event_bitmap); stdev 679 drivers/pci/switch/switchtec.c s->local_part = ioread32(&stdev->mmio_part_cfg->part_event_summary); stdev 681 drivers/pci/switch/switchtec.c for (i = 0; i < stdev->partition_count; i++) { stdev 682 drivers/pci/switch/switchtec.c reg = ioread32(&stdev->mmio_part_cfg_all[i].part_event_summary); stdev 687 drivers/pci/switch/switchtec.c reg = ioread16(&stdev->mmio_pff_csr[i].vendor_id); stdev 691 drivers/pci/switch/switchtec.c reg = ioread32(&stdev->mmio_pff_csr[i].pff_event_summary); stdev 700 drivers/pci/switch/switchtec.c stuser->event_cnt = atomic_read(&stdev->event_cnt); stdev 707 drivers/pci/switch/switchtec.c static u32 __iomem *global_ev_reg(struct switchtec_dev *stdev, stdev 710 drivers/pci/switch/switchtec.c return (void __iomem *)stdev->mmio_sw_event + offset; stdev 713 drivers/pci/switch/switchtec.c static u32 __iomem *part_ev_reg(struct switchtec_dev *stdev, stdev 716 drivers/pci/switch/switchtec.c return (void __iomem *)&stdev->mmio_part_cfg_all[index] + offset; stdev 719 drivers/pci/switch/switchtec.c static u32 __iomem *pff_ev_reg(struct switchtec_dev *stdev, stdev 722 drivers/pci/switch/switchtec.c return (void __iomem *)&stdev->mmio_pff_csr[index] + offset; stdev 731 drivers/pci/switch/switchtec.c u32 __iomem *(*map_reg)(struct switchtec_dev *stdev, stdev 768 drivers/pci/switch/switchtec.c static u32 __iomem *event_hdr_addr(struct switchtec_dev *stdev, stdev 780 drivers/pci/switch/switchtec.c index = stdev->partition; stdev 781 drivers/pci/switch/switchtec.c else if (index < 0 || index >= stdev->partition_count) stdev 784 drivers/pci/switch/switchtec.c if (index < 0 || index >= stdev->pff_csr_count) stdev 788 drivers/pci/switch/switchtec.c return event_regs[event_id].map_reg(stdev, off, index); stdev 791 drivers/pci/switch/switchtec.c static int event_ctl(struct switchtec_dev *stdev, stdev 798 drivers/pci/switch/switchtec.c reg = event_hdr_addr(stdev, ctl->event_id, ctl->index); stdev 844 drivers/pci/switch/switchtec.c static int ioctl_event_ctl(struct switchtec_dev *stdev, stdev 865 drivers/pci/switch/switchtec.c nr_idxs = stdev->partition_count; stdev 867 drivers/pci/switch/switchtec.c nr_idxs = stdev->pff_csr_count; stdev 874 drivers/pci/switch/switchtec.c ret = event_ctl(stdev, &ctl); stdev 879 drivers/pci/switch/switchtec.c ret = event_ctl(stdev, &ctl); stdev 890 drivers/pci/switch/switchtec.c static int ioctl_pff_to_port(struct switchtec_dev *stdev, stdev 902 drivers/pci/switch/switchtec.c for (part = 0; part < stdev->partition_count; part++) { stdev 903 drivers/pci/switch/switchtec.c pcfg = &stdev->mmio_part_cfg_all[part]; stdev 937 drivers/pci/switch/switchtec.c static int ioctl_port_to_pff(struct switchtec_dev *stdev, stdev 947 drivers/pci/switch/switchtec.c pcfg = stdev->mmio_part_cfg; stdev 948 drivers/pci/switch/switchtec.c else if (p.partition < stdev->partition_count) stdev 949 drivers/pci/switch/switchtec.c pcfg = &stdev->mmio_part_cfg_all[p.partition]; stdev 979 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = stuser->stdev; stdev 983 drivers/pci/switch/switchtec.c rc = lock_mutex_and_test_alive(stdev); stdev 989 drivers/pci/switch/switchtec.c rc = ioctl_flash_info(stdev, argp); stdev 992 drivers/pci/switch/switchtec.c rc = ioctl_flash_part_info(stdev, argp); stdev 995 drivers/pci/switch/switchtec.c rc = ioctl_event_summary(stdev, stuser, argp, stdev 999 drivers/pci/switch/switchtec.c rc = ioctl_event_ctl(stdev, argp); stdev 1002 drivers/pci/switch/switchtec.c rc = ioctl_pff_to_port(stdev, argp); stdev 1005 drivers/pci/switch/switchtec.c rc = ioctl_port_to_pff(stdev, argp); stdev 1008 drivers/pci/switch/switchtec.c rc = ioctl_event_summary(stdev, stuser, argp, stdev 1016 drivers/pci/switch/switchtec.c mutex_unlock(&stdev->mrpc_mutex); stdev 1033 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev; stdev 1035 drivers/pci/switch/switchtec.c stdev = container_of(work, struct switchtec_dev, link_event_work); stdev 1037 drivers/pci/switch/switchtec.c if (stdev->link_notifier) stdev 1038 drivers/pci/switch/switchtec.c stdev->link_notifier(stdev); stdev 1041 drivers/pci/switch/switchtec.c static void check_link_state_events(struct switchtec_dev *stdev) stdev 1048 drivers/pci/switch/switchtec.c for (idx = 0; idx < stdev->pff_csr_count; idx++) { stdev 1049 drivers/pci/switch/switchtec.c reg = ioread32(&stdev->mmio_pff_csr[idx].link_state_hdr); stdev 1050 drivers/pci/switch/switchtec.c dev_dbg(&stdev->dev, "link_state: %d->%08x\n", idx, reg); stdev 1053 drivers/pci/switch/switchtec.c if (count != stdev->link_event_count[idx]) { stdev 1055 drivers/pci/switch/switchtec.c stdev->link_event_count[idx] = count; stdev 1060 drivers/pci/switch/switchtec.c schedule_work(&stdev->link_event_work); stdev 1063 drivers/pci/switch/switchtec.c static void enable_link_state_events(struct switchtec_dev *stdev) stdev 1067 drivers/pci/switch/switchtec.c for (idx = 0; idx < stdev->pff_csr_count; idx++) { stdev 1070 drivers/pci/switch/switchtec.c &stdev->mmio_pff_csr[idx].link_state_hdr); stdev 1074 drivers/pci/switch/switchtec.c static void enable_dma_mrpc(struct switchtec_dev *stdev) stdev 1076 drivers/pci/switch/switchtec.c writeq(stdev->dma_mrpc_dma_addr, &stdev->mmio_mrpc->dma_addr); stdev 1077 drivers/pci/switch/switchtec.c flush_wc_buf(stdev); stdev 1078 drivers/pci/switch/switchtec.c iowrite32(SWITCHTEC_DMA_MRPC_EN, &stdev->mmio_mrpc->dma_en); stdev 1083 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = to_stdev(dev); stdev 1085 drivers/pci/switch/switchtec.c if (stdev->dma_mrpc) { stdev 1086 drivers/pci/switch/switchtec.c iowrite32(0, &stdev->mmio_mrpc->dma_en); stdev 1087 drivers/pci/switch/switchtec.c flush_wc_buf(stdev); stdev 1088 drivers/pci/switch/switchtec.c writeq(0, &stdev->mmio_mrpc->dma_addr); stdev 1089 drivers/pci/switch/switchtec.c dma_free_coherent(&stdev->pdev->dev, sizeof(*stdev->dma_mrpc), stdev 1090 drivers/pci/switch/switchtec.c stdev->dma_mrpc, stdev->dma_mrpc_dma_addr); stdev 1092 drivers/pci/switch/switchtec.c kfree(stdev); stdev 1095 drivers/pci/switch/switchtec.c static void stdev_kill(struct switchtec_dev *stdev) stdev 1099 drivers/pci/switch/switchtec.c pci_clear_master(stdev->pdev); stdev 1101 drivers/pci/switch/switchtec.c cancel_delayed_work_sync(&stdev->mrpc_timeout); stdev 1104 drivers/pci/switch/switchtec.c mutex_lock(&stdev->mrpc_mutex); stdev 1105 drivers/pci/switch/switchtec.c stdev->alive = false; stdev 1108 drivers/pci/switch/switchtec.c list_for_each_entry_safe(stuser, tmpuser, &stdev->mrpc_queue, list) { stdev 1114 drivers/pci/switch/switchtec.c mutex_unlock(&stdev->mrpc_mutex); stdev 1117 drivers/pci/switch/switchtec.c wake_up_interruptible(&stdev->event_wq); stdev 1122 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev; stdev 1128 drivers/pci/switch/switchtec.c stdev = kzalloc_node(sizeof(*stdev), GFP_KERNEL, stdev 1130 drivers/pci/switch/switchtec.c if (!stdev) stdev 1133 drivers/pci/switch/switchtec.c stdev->alive = true; stdev 1134 drivers/pci/switch/switchtec.c stdev->pdev = pdev; stdev 1135 drivers/pci/switch/switchtec.c INIT_LIST_HEAD(&stdev->mrpc_queue); stdev 1136 drivers/pci/switch/switchtec.c mutex_init(&stdev->mrpc_mutex); stdev 1137 drivers/pci/switch/switchtec.c stdev->mrpc_busy = 0; stdev 1138 drivers/pci/switch/switchtec.c INIT_WORK(&stdev->mrpc_work, mrpc_event_work); stdev 1139 drivers/pci/switch/switchtec.c INIT_DELAYED_WORK(&stdev->mrpc_timeout, mrpc_timeout_work); stdev 1140 drivers/pci/switch/switchtec.c INIT_WORK(&stdev->link_event_work, link_event_work); stdev 1141 drivers/pci/switch/switchtec.c init_waitqueue_head(&stdev->event_wq); stdev 1142 drivers/pci/switch/switchtec.c atomic_set(&stdev->event_cnt, 0); stdev 1144 drivers/pci/switch/switchtec.c dev = &stdev->dev; stdev 1161 drivers/pci/switch/switchtec.c cdev = &stdev->cdev; stdev 1165 drivers/pci/switch/switchtec.c return stdev; stdev 1168 drivers/pci/switch/switchtec.c put_device(&stdev->dev); stdev 1172 drivers/pci/switch/switchtec.c static int mask_event(struct switchtec_dev *stdev, int eid, int idx) stdev 1178 drivers/pci/switch/switchtec.c hdr_reg = event_regs[eid].map_reg(stdev, off, idx); stdev 1188 drivers/pci/switch/switchtec.c dev_dbg(&stdev->dev, "%s: %d %d %x\n", __func__, eid, idx, hdr); stdev 1195 drivers/pci/switch/switchtec.c static int mask_all_events(struct switchtec_dev *stdev, int eid) stdev 1201 drivers/pci/switch/switchtec.c for (idx = 0; idx < stdev->partition_count; idx++) stdev 1202 drivers/pci/switch/switchtec.c count += mask_event(stdev, eid, idx); stdev 1204 drivers/pci/switch/switchtec.c for (idx = 0; idx < stdev->pff_csr_count; idx++) { stdev 1205 drivers/pci/switch/switchtec.c if (!stdev->pff_local[idx]) stdev 1208 drivers/pci/switch/switchtec.c count += mask_event(stdev, eid, idx); stdev 1211 drivers/pci/switch/switchtec.c count += mask_event(stdev, eid, 0); stdev 1219 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = dev; stdev 1224 drivers/pci/switch/switchtec.c reg = ioread32(&stdev->mmio_part_cfg->mrpc_comp_hdr); stdev 1226 drivers/pci/switch/switchtec.c dev_dbg(&stdev->dev, "%s: mrpc comp\n", __func__); stdev 1228 drivers/pci/switch/switchtec.c schedule_work(&stdev->mrpc_work); stdev 1229 drivers/pci/switch/switchtec.c iowrite32(reg, &stdev->mmio_part_cfg->mrpc_comp_hdr); stdev 1232 drivers/pci/switch/switchtec.c check_link_state_events(stdev); stdev 1235 drivers/pci/switch/switchtec.c event_count += mask_all_events(stdev, eid); stdev 1238 drivers/pci/switch/switchtec.c atomic_inc(&stdev->event_cnt); stdev 1239 drivers/pci/switch/switchtec.c wake_up_interruptible(&stdev->event_wq); stdev 1240 drivers/pci/switch/switchtec.c dev_dbg(&stdev->dev, "%s: %d events\n", __func__, stdev 1251 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = dev; stdev 1256 drivers/pci/switch/switchtec.c &stdev->mmio_part_cfg->mrpc_comp_hdr); stdev 1257 drivers/pci/switch/switchtec.c schedule_work(&stdev->mrpc_work); stdev 1263 drivers/pci/switch/switchtec.c static int switchtec_init_isr(struct switchtec_dev *stdev) stdev 1273 drivers/pci/switch/switchtec.c nvecs = pci_alloc_irq_vectors(stdev->pdev, 1, nirqs, stdev 1279 drivers/pci/switch/switchtec.c event_irq = ioread16(&stdev->mmio_part_cfg->vep_vector_number); stdev 1283 drivers/pci/switch/switchtec.c event_irq = pci_irq_vector(stdev->pdev, event_irq); stdev 1287 drivers/pci/switch/switchtec.c rc = devm_request_irq(&stdev->pdev->dev, event_irq, stdev 1289 drivers/pci/switch/switchtec.c KBUILD_MODNAME, stdev); stdev 1294 drivers/pci/switch/switchtec.c if (!stdev->dma_mrpc) stdev 1297 drivers/pci/switch/switchtec.c dma_mrpc_irq = ioread32(&stdev->mmio_mrpc->dma_vector); stdev 1301 drivers/pci/switch/switchtec.c dma_mrpc_irq = pci_irq_vector(stdev->pdev, dma_mrpc_irq); stdev 1305 drivers/pci/switch/switchtec.c rc = devm_request_irq(&stdev->pdev->dev, dma_mrpc_irq, stdev 1307 drivers/pci/switch/switchtec.c KBUILD_MODNAME, stdev); stdev 1312 drivers/pci/switch/switchtec.c static void init_pff(struct switchtec_dev *stdev) stdev 1316 drivers/pci/switch/switchtec.c struct part_cfg_regs *pcfg = stdev->mmio_part_cfg; stdev 1319 drivers/pci/switch/switchtec.c reg = ioread16(&stdev->mmio_pff_csr[i].vendor_id); stdev 1324 drivers/pci/switch/switchtec.c stdev->pff_csr_count = i; stdev 1328 drivers/pci/switch/switchtec.c stdev->pff_local[reg] = 1; stdev 1332 drivers/pci/switch/switchtec.c stdev->pff_local[reg] = 1; stdev 1337 drivers/pci/switch/switchtec.c stdev->pff_local[reg] = 1; stdev 1341 drivers/pci/switch/switchtec.c static int switchtec_init_pci(struct switchtec_dev *stdev, stdev 1365 drivers/pci/switch/switchtec.c stdev->mmio_mrpc = devm_ioremap_wc(&pdev->dev, res_start, stdev 1367 drivers/pci/switch/switchtec.c if (!stdev->mmio_mrpc) stdev 1376 drivers/pci/switch/switchtec.c stdev->mmio = map - SWITCHTEC_GAS_TOP_CFG_OFFSET; stdev 1377 drivers/pci/switch/switchtec.c stdev->mmio_sw_event = stdev->mmio + SWITCHTEC_GAS_SW_EVENT_OFFSET; stdev 1378 drivers/pci/switch/switchtec.c stdev->mmio_sys_info = stdev->mmio + SWITCHTEC_GAS_SYS_INFO_OFFSET; stdev 1379 drivers/pci/switch/switchtec.c stdev->mmio_flash_info = stdev->mmio + SWITCHTEC_GAS_FLASH_INFO_OFFSET; stdev 1380 drivers/pci/switch/switchtec.c stdev->mmio_ntb = stdev->mmio + SWITCHTEC_GAS_NTB_OFFSET; stdev 1381 drivers/pci/switch/switchtec.c stdev->partition = ioread8(&stdev->mmio_sys_info->partition_id); stdev 1382 drivers/pci/switch/switchtec.c stdev->partition_count = ioread8(&stdev->mmio_ntb->partition_count); stdev 1383 drivers/pci/switch/switchtec.c stdev->mmio_part_cfg_all = stdev->mmio + SWITCHTEC_GAS_PART_CFG_OFFSET; stdev 1384 drivers/pci/switch/switchtec.c stdev->mmio_part_cfg = &stdev->mmio_part_cfg_all[stdev->partition]; stdev 1385 drivers/pci/switch/switchtec.c stdev->mmio_pff_csr = stdev->mmio + SWITCHTEC_GAS_PFF_CSR_OFFSET; stdev 1387 drivers/pci/switch/switchtec.c if (stdev->partition_count < 1) stdev 1388 drivers/pci/switch/switchtec.c stdev->partition_count = 1; stdev 1390 drivers/pci/switch/switchtec.c init_pff(stdev); stdev 1392 drivers/pci/switch/switchtec.c pci_set_drvdata(pdev, stdev); stdev 1397 drivers/pci/switch/switchtec.c if (ioread32(&stdev->mmio_mrpc->dma_ver) == 0) stdev 1400 drivers/pci/switch/switchtec.c stdev->dma_mrpc = dma_alloc_coherent(&stdev->pdev->dev, stdev 1401 drivers/pci/switch/switchtec.c sizeof(*stdev->dma_mrpc), stdev 1402 drivers/pci/switch/switchtec.c &stdev->dma_mrpc_dma_addr, stdev 1404 drivers/pci/switch/switchtec.c if (stdev->dma_mrpc == NULL) stdev 1413 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev; stdev 1419 drivers/pci/switch/switchtec.c stdev = stdev_create(pdev); stdev 1420 drivers/pci/switch/switchtec.c if (IS_ERR(stdev)) stdev 1421 drivers/pci/switch/switchtec.c return PTR_ERR(stdev); stdev 1423 drivers/pci/switch/switchtec.c rc = switchtec_init_pci(stdev, pdev); stdev 1427 drivers/pci/switch/switchtec.c rc = switchtec_init_isr(stdev); stdev 1429 drivers/pci/switch/switchtec.c dev_err(&stdev->dev, "failed to init isr.\n"); stdev 1435 drivers/pci/switch/switchtec.c &stdev->mmio_part_cfg->mrpc_comp_hdr); stdev 1436 drivers/pci/switch/switchtec.c enable_link_state_events(stdev); stdev 1438 drivers/pci/switch/switchtec.c if (stdev->dma_mrpc) stdev 1439 drivers/pci/switch/switchtec.c enable_dma_mrpc(stdev); stdev 1441 drivers/pci/switch/switchtec.c rc = cdev_device_add(&stdev->cdev, &stdev->dev); stdev 1445 drivers/pci/switch/switchtec.c dev_info(&stdev->dev, "Management device registered.\n"); stdev 1450 drivers/pci/switch/switchtec.c stdev_kill(stdev); stdev 1452 drivers/pci/switch/switchtec.c ida_simple_remove(&switchtec_minor_ida, MINOR(stdev->dev.devt)); stdev 1453 drivers/pci/switch/switchtec.c put_device(&stdev->dev); stdev 1459 drivers/pci/switch/switchtec.c struct switchtec_dev *stdev = pci_get_drvdata(pdev); stdev 1463 drivers/pci/switch/switchtec.c cdev_device_del(&stdev->cdev, &stdev->dev); stdev 1464 drivers/pci/switch/switchtec.c ida_simple_remove(&switchtec_minor_ida, MINOR(stdev->dev.devt)); stdev 1465 drivers/pci/switch/switchtec.c dev_info(&stdev->dev, "unregistered.\n"); stdev 1466 drivers/pci/switch/switchtec.c stdev_kill(stdev); stdev 1467 drivers/pci/switch/switchtec.c put_device(&stdev->dev); stdev 34 drivers/thermal/spear_thermal.c struct spear_thermal_dev *stdev = thermal->devdata; stdev 40 drivers/thermal/spear_thermal.c *temp = (readl_relaxed(stdev->thermal_base) & 0x7F) * MD_FACTOR; stdev 51 drivers/thermal/spear_thermal.c struct spear_thermal_dev *stdev = spear_thermal->devdata; stdev 55 drivers/thermal/spear_thermal.c actual_mask = readl_relaxed(stdev->thermal_base); stdev 56 drivers/thermal/spear_thermal.c writel_relaxed(actual_mask & ~stdev->flags, stdev->thermal_base); stdev 58 drivers/thermal/spear_thermal.c clk_disable(stdev->clk); stdev 67 drivers/thermal/spear_thermal.c struct spear_thermal_dev *stdev = spear_thermal->devdata; stdev 71 drivers/thermal/spear_thermal.c ret = clk_enable(stdev->clk); stdev 78 drivers/thermal/spear_thermal.c actual_mask = readl_relaxed(stdev->thermal_base); stdev 79 drivers/thermal/spear_thermal.c writel_relaxed(actual_mask | stdev->flags, stdev->thermal_base); stdev 92 drivers/thermal/spear_thermal.c struct spear_thermal_dev *stdev; stdev 102 drivers/thermal/spear_thermal.c stdev = devm_kzalloc(&pdev->dev, sizeof(*stdev), GFP_KERNEL); stdev 103 drivers/thermal/spear_thermal.c if (!stdev) stdev 108 drivers/thermal/spear_thermal.c stdev->thermal_base = devm_ioremap_resource(&pdev->dev, res); stdev 109 drivers/thermal/spear_thermal.c if (IS_ERR(stdev->thermal_base)) stdev 110 drivers/thermal/spear_thermal.c return PTR_ERR(stdev->thermal_base); stdev 112 drivers/thermal/spear_thermal.c stdev->clk = devm_clk_get(&pdev->dev, NULL); stdev 113 drivers/thermal/spear_thermal.c if (IS_ERR(stdev->clk)) { stdev 115 drivers/thermal/spear_thermal.c return PTR_ERR(stdev->clk); stdev 118 drivers/thermal/spear_thermal.c ret = clk_enable(stdev->clk); stdev 124 drivers/thermal/spear_thermal.c stdev->flags = val; stdev 125 drivers/thermal/spear_thermal.c writel_relaxed(stdev->flags, stdev->thermal_base); stdev 128 drivers/thermal/spear_thermal.c stdev, &ops, NULL, 0, 0); stdev 138 drivers/thermal/spear_thermal.c stdev->thermal_base); stdev 143 drivers/thermal/spear_thermal.c clk_disable(stdev->clk); stdev 152 drivers/thermal/spear_thermal.c struct spear_thermal_dev *stdev = spear_thermal->devdata; stdev 157 drivers/thermal/spear_thermal.c actual_mask = readl_relaxed(stdev->thermal_base); stdev 158 drivers/thermal/spear_thermal.c writel_relaxed(actual_mask & ~stdev->flags, stdev->thermal_base); stdev 160 drivers/thermal/spear_thermal.c clk_disable(stdev->clk); stdev 388 include/linux/switchtec.h void (*link_notifier)(struct switchtec_dev *stdev);