Lines Matching full:ide

26 MODULE_PARM_DESC(ide_nr, "Set the maximum number of IDE streams per PHB");
62 static int stream_enable(struct pci_ide *ide) in stream_enable() argument
64 struct pci_dev *rp = pcie_find_root_port(ide->pdev); in stream_enable()
67 ret = pci_ide_stream_enable(rp, ide); in stream_enable()
71 ret = pci_ide_stream_enable(ide->pdev, ide); in stream_enable()
73 pci_ide_stream_disable(rp, ide); in stream_enable()
78 static int streams_enable(struct pci_ide **ide) in streams_enable() argument
83 if (ide[i]) { in streams_enable()
84 ret = stream_enable(ide[i]); in streams_enable()
93 static void stream_disable(struct pci_ide *ide) in stream_disable() argument
95 pci_ide_stream_disable(ide->pdev, ide); in stream_disable()
96 pci_ide_stream_disable(pcie_find_root_port(ide->pdev), ide); in stream_disable()
99 static void streams_disable(struct pci_ide **ide) in streams_disable() argument
102 if (ide[i]) in streams_disable()
103 stream_disable(ide[i]); in streams_disable()
106 static void stream_setup(struct pci_ide *ide) in stream_setup() argument
108 struct pci_dev *rp = pcie_find_root_port(ide->pdev); in stream_setup()
110 ide->partner[PCI_IDE_EP].rid_start = 0; in stream_setup()
111 ide->partner[PCI_IDE_EP].rid_end = 0xffff; in stream_setup()
112 ide->partner[PCI_IDE_RP].rid_start = 0; in stream_setup()
113 ide->partner[PCI_IDE_RP].rid_end = 0xffff; in stream_setup()
115 ide->pdev->ide_cfg = 0; in stream_setup()
116 ide->pdev->ide_tee_limit = 1; in stream_setup()
120 pci_warn(ide->pdev, "Forcing CFG/TEE for %s", pci_name(rp)); in stream_setup()
121 pci_ide_stream_setup(ide->pdev, ide); in stream_setup()
122 pci_ide_stream_setup(rp, ide); in stream_setup()
125 static u8 streams_setup(struct pci_ide **ide, u8 *ids) in streams_setup() argument
132 if (!ide[i]) { in streams_setup()
138 ids[i] = ide[i]->stream_id; in streams_setup()
143 settings = pci_ide_to_settings(ide[i]->pdev, ide[i]); in streams_setup()
148 stream_setup(ide[i]); in streams_setup()
154 static int streams_register(struct pci_ide **ide) in streams_register() argument
159 if (ide[i]) { in streams_register()
160 ret = pci_ide_stream_register(ide[i]); in streams_register()
169 static void streams_unregister(struct pci_ide **ide) in streams_unregister() argument
172 if (ide[i]) in streams_unregister()
173 pci_ide_stream_unregister(ide[i]); in streams_unregister()
176 static void stream_teardown(struct pci_ide *ide) in stream_teardown() argument
178 pci_ide_stream_teardown(ide->pdev, ide); in stream_teardown()
179 pci_ide_stream_teardown(pcie_find_root_port(ide->pdev), ide); in stream_teardown()
182 static void streams_teardown(struct pci_ide **ide) in streams_teardown() argument
185 if (ide[i]) { in streams_teardown()
186 stream_teardown(ide[i]); in streams_teardown()
187 pci_ide_stream_free(ide[i]); in streams_teardown()
188 ide[i] = NULL; in streams_teardown()
193 static int stream_alloc(struct pci_dev *pdev, struct pci_ide **ide, in stream_alloc() argument
199 if (ide[tc]) { in stream_alloc()
216 ide[tc] = ide1; in stream_alloc()
293 ret = stream_alloc(pdev, dev_data->ide, 0); in dsm_connect()
301 tc_mask = streams_setup(dev_data->ide, ids); in dsm_connect()
308 streams_enable(dev_data->ide); in dsm_connect()
310 ret = streams_register(dev_data->ide); in dsm_connect()
319 streams_disable(dev_data->ide); in dsm_connect()
322 streams_teardown(dev_data->ide); in dsm_connect()
343 streams_disable(dev_data->ide); in dsm_disconnect()
344 streams_unregister(dev_data->ide); in dsm_disconnect()
345 streams_teardown(dev_data->ide); in dsm_disconnect()