Searched refs:dca (Results 1 - 16 of 16) sorted by relevance

/linux-4.4.14/drivers/dca/
H A DMakefile1 obj-$(CONFIG_DCA) += dca.o
2 dca-objs := dca-core.o dca-sysfs.o
H A Ddca-core.c29 #include <linux/dca.h>
95 struct dca_provider *dca, *_dca; unregister_dca_providers() local
115 list_for_each_entry_safe(dca, _dca, &domain->dca_providers, node) unregister_dca_providers()
116 list_move(&dca->node, &unregistered_providers); unregister_dca_providers()
122 list_for_each_entry_safe(dca, _dca, &unregistered_providers, node) { unregister_dca_providers()
123 dca_sysfs_remove_provider(dca); unregister_dca_providers()
124 list_del(&dca->node); unregister_dca_providers()
157 struct dca_provider *dca; dca_find_provider_by_dev() local
175 list_for_each_entry(dca, &domain->dca_providers, node) dca_find_provider_by_dev()
176 if ((!dev) || (dca->ops->dev_managed(dca, dev))) dca_find_provider_by_dev()
177 return dca; dca_find_provider_by_dev()
183 * dca_add_requester - add a dca client to the list
184 * @dev - the device that wants dca service
188 struct dca_provider *dca; dca_add_requester() local
200 dca = dca_find_provider_by_dev(dev); dca_add_requester()
201 if (dca) { dca_add_requester()
213 list_for_each_entry(dca, &domain->dca_providers, node) { dca_add_requester()
214 slot = dca->ops->add_requester(dca, dev); dca_add_requester()
224 err = dca_sysfs_add_req(dca, dev, slot); dca_add_requester()
227 if (dca == dca_find_provider_by_dev(dev)) dca_add_requester()
228 dca->ops->remove_requester(dca, dev); dca_add_requester()
238 * dca_remove_requester - remove a dca client from the list
239 * @dev - the device that wants dca service
243 struct dca_provider *dca; dca_remove_requester() local
251 dca = dca_find_provider_by_dev(dev); dca_remove_requester()
252 if (!dca) { dca_remove_requester()
256 slot = dca->ops->remove_requester(dca, dev); dca_remove_requester()
262 dca_sysfs_remove_req(dca, slot); dca_remove_requester()
269 * dca_common_get_tag - return the dca tag (serves both new and old api)
270 * @dev - the device that wants dca service
275 struct dca_provider *dca; dca_common_get_tag() local
281 dca = dca_find_provider_by_dev(dev); dca_common_get_tag()
282 if (!dca) { dca_common_get_tag()
286 tag = dca->ops->get_tag(dca, dev, cpu); dca_common_get_tag()
293 * dca3_get_tag - return the dca tag to the requester device
295 * @dev - the device that wants dca service
308 * dca_get_tag - return the dca tag for the given cpu (old api)
320 * alloc_dca_provider - get data struct for describing a dca provider
321 * @ops - pointer to struct of dca operation function pointers
326 struct dca_provider *dca; alloc_dca_provider() local
329 alloc_size = (sizeof(*dca) + priv_size); alloc_dca_provider()
330 dca = kzalloc(alloc_size, GFP_KERNEL); alloc_dca_provider()
331 if (!dca) alloc_dca_provider()
333 dca->ops = ops; alloc_dca_provider()
335 return dca; alloc_dca_provider()
340 * free_dca_provider - release the dca provider data struct
341 * @ops - pointer to struct of dca operation function pointers
344 void free_dca_provider(struct dca_provider *dca) free_dca_provider() argument
346 kfree(dca); free_dca_provider()
351 * register_dca_provider - register a dca provider
352 * @dca - struct created by alloc_dca_provider()
353 * @dev - device providing dca services
355 int register_dca_provider(struct dca_provider *dca, struct device *dev) register_dca_provider() argument
368 err = dca_sysfs_add_provider(dca, dev); register_dca_provider()
379 dca_sysfs_remove_provider(dca); register_dca_provider()
398 list_add(&dca->node, &domain->dca_providers); register_dca_provider()
409 * unregister_dca_provider - remove a dca provider
410 * @dca - struct created by alloc_dca_provider()
412 void unregister_dca_provider(struct dca_provider *dca, struct device *dev) unregister_dca_provider() argument
428 list_del(&dca->node); unregister_dca_provider()
437 dca_sysfs_remove_provider(dca); unregister_dca_provider()
461 pr_info("dca service started, version %s\n", DCA_VERSION); dca_init()
H A Ddca-sysfs.c28 #include <linux/dca.h>
36 int dca_sysfs_add_req(struct dca_provider *dca, struct device *dev, int slot) dca_sysfs_add_req() argument
41 cd = device_create(dca_class, dca->cd, MKDEV(0, slot + 1), NULL, dca_sysfs_add_req()
48 void dca_sysfs_remove_req(struct dca_provider *dca, int slot) dca_sysfs_remove_req() argument
53 int dca_sysfs_add_provider(struct dca_provider *dca, struct device *dev) dca_sysfs_add_provider() argument
61 ret = idr_alloc(&dca_idr, dca, 0, 0, GFP_NOWAIT); dca_sysfs_add_provider()
63 dca->id = ret; dca_sysfs_add_provider()
70 cd = device_create(dca_class, dev, MKDEV(0, 0), NULL, "dca%d", dca->id); dca_sysfs_add_provider()
73 idr_remove(&dca_idr, dca->id); dca_sysfs_add_provider()
77 dca->cd = cd; dca_sysfs_add_provider()
81 void dca_sysfs_remove_provider(struct dca_provider *dca) dca_sysfs_remove_provider() argument
83 device_unregister(dca->cd); dca_sysfs_remove_provider()
84 dca->cd = NULL; dca_sysfs_remove_provider()
86 idr_remove(&dca_idr, dca->id); dca_sysfs_remove_provider()
95 dca_class = class_create(THIS_MODULE, "dca"); dca_sysfs_init()
/linux-4.4.14/drivers/dma/ioat/
H A DMakefile2 ioatdma-y := init.o dma.o prep.o dca.o sysfs.o
H A Ddca.c23 #include <linux/dca.h>
120 static int ioat_dca_dev_managed(struct dca_provider *dca, ioat_dca_dev_managed() argument
123 struct ioat_dca_priv *ioatdca = dca_priv(dca); ioat_dca_dev_managed()
135 static int ioat_dca_add_requester(struct dca_provider *dca, struct device *dev) ioat_dca_add_requester() argument
137 struct ioat_dca_priv *ioatdca = dca_priv(dca); ioat_dca_add_requester()
169 static int ioat_dca_remove_requester(struct dca_provider *dca, ioat_dca_remove_requester() argument
172 struct ioat_dca_priv *ioatdca = dca_priv(dca); ioat_dca_remove_requester()
196 static u8 ioat_dca_get_tag(struct dca_provider *dca, ioat_dca_get_tag() argument
202 struct ioat_dca_priv *ioatdca = dca_priv(dca); ioat_dca_get_tag()
271 struct dca_provider *dca; ioat_dca_init() local
300 dca = alloc_dca_provider(&ioat_dca_ops, ioat_dca_init()
303 if (!dca) ioat_dca_init()
306 ioatdca = dca_priv(dca); ioat_dca_init()
343 free_dca_provider(dca); ioat_dca_init()
347 err = register_dca_provider(dca, &pdev->dev); ioat_dca_init()
349 free_dca_provider(dca); ioat_dca_init()
353 return dca; ioat_dca_init()
H A Dinit.c29 #include <linux/dca.h>
134 MODULE_PARM_DESC(ioat_dca_enabled, "control support of dca service (default: 1)");
1079 static int ioat3_dma_probe(struct ioatdma_device *ioat_dma, int dca) ioat3_dma_probe() argument
1104 /* dca is incompatible with raid operations */ ioat3_dma_probe()
1184 if (dca) ioat3_dma_probe()
1185 ioat_dma->dca = ioat_dca_init(pdev, ioat_dma->reg_base); ioat3_dma_probe()
1376 dev_err(&pdev->dev, "Removing dma and dca services\n"); ioat_remove()
1377 if (device->dca) { ioat_remove()
1378 unregister_dca_provider(device->dca, &pdev->dev); ioat_remove()
1379 free_dca_provider(device->dca); ioat_remove()
1380 device->dca = NULL; ioat_remove()
H A Ddma.h72 * @dca: direct cache access context
88 struct dca_provider *dca; member in struct:ioatdma_device
/linux-4.4.14/include/linux/
H A Ddca.h57 void free_dca_provider(struct dca_provider *dca);
58 int register_dca_provider(struct dca_provider *dca, struct device *dev);
59 void unregister_dca_provider(struct dca_provider *dca, struct device *dev);
61 static inline void *dca_priv(struct dca_provider *dca) dca_priv() argument
63 return (void *)dca + sizeof(struct dca_provider); dca_priv()
76 int dca_sysfs_add_provider(struct dca_provider *dca, struct device *dev);
77 void dca_sysfs_remove_provider(struct dca_provider *dca);
78 int dca_sysfs_add_req(struct dca_provider *dca, struct device *dev, int slot);
79 void dca_sysfs_remove_req(struct dca_provider *dca, int slot);
/linux-4.4.14/drivers/media/usb/dvb-usb/
H A Daf9005-fe.c899 /* set dca upper & lower chip */ af9005_fe_init()
900 deb_info("set dca upper & lower chip\n"); af9005_fe_init()
918 /* clear dca enable chip */ af9005_fe_init()
919 deb_info("clear dca enable chip\n"); af9005_fe_init()
/linux-4.4.14/drivers/net/ethernet/myricom/myri10ge/
H A Dmyri10ge_mcp.h357 /* offset of dca control for WDMAs */
H A Dmyri10ge.c53 #include <linux/dca.h>
1215 dev_err(&pdev->dev, "dca disabled by administrator\n"); myri10ge_setup_dca()
/linux-4.4.14/drivers/infiniband/hw/qib/
H A Dqib_iba7322.c48 #include <linux/dca.h>
665 int dca; member in struct:__anon5378
2721 "Ctxt %d cpu %d dca %llx\n", rcd->ctxt, cpu, qib_update_rhdrq_dca()
2749 "sdma %d cpu %d dca %llx\n", ppd->hw_pidx, cpu, qib_update_sdma_dca()
3352 if (!m->dca) reset_dca_notifier()
3368 if (!m->dca) setup_dca_notifier()
3477 int dca = 0; qib_setup_7322_interrupt() local
3492 dca = irq_table[i].dca; qib_setup_7322_interrupt()
3512 dca = 1; qib_setup_7322_interrupt()
3540 dd->cspec->msix_entries[msixnum].dca = dca; qib_setup_7322_interrupt()
H A Dqib.h450 int dca; member in struct:qib_msix_entry
H A Dqib_init.c43 #include <linux/dca.h>
/linux-4.4.14/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe.h53 #include <linux/dca.h>
/linux-4.4.14/drivers/net/ethernet/intel/igb/
H A Digb_main.c54 #include <linux/dca.h>

Completed in 683 milliseconds