/linux-4.4.14/drivers/dca/ |
H A D | Makefile | 1 obj-$(CONFIG_DCA) += dca.o 2 dca-objs := dca-core.o dca-sysfs.o
|
H A D | dca-core.c | 29 #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 D | dca-sysfs.c | 28 #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 D | Makefile | 2 ioatdma-y := init.o dma.o prep.o dca.o sysfs.o
|
H A D | dca.c | 23 #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 D | init.c | 29 #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 D | dma.h | 72 * @dca: direct cache access context 88 struct dca_provider *dca; member in struct:ioatdma_device
|
/linux-4.4.14/include/linux/ |
H A D | dca.h | 57 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 D | af9005-fe.c | 899 /* 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 D | myri10ge_mcp.h | 357 /* offset of dca control for WDMAs */
|
H A D | myri10ge.c | 53 #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 D | qib_iba7322.c | 48 #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 D | qib.h | 450 int dca; member in struct:qib_msix_entry
|
H A D | qib_init.c | 43 #include <linux/dca.h>
|
/linux-4.4.14/drivers/net/ethernet/intel/ixgbe/ |
H A D | ixgbe.h | 53 #include <linux/dca.h>
|
/linux-4.4.14/drivers/net/ethernet/intel/igb/ |
H A D | igb_main.c | 54 #include <linux/dca.h>
|