Lines Matching full:adma
35 * @adma: struct acpi_dma of the given DMA controller
45 struct acpi_device *adev, struct acpi_dma *adma) in acpi_dma_parse_resource_group() argument
107 adma->base_request_line = si->base_request_line; in acpi_dma_parse_resource_group()
108 adma->end_request_line = si->base_request_line + in acpi_dma_parse_resource_group()
112 adma->base_request_line, adma->end_request_line); in acpi_dma_parse_resource_group()
120 * @adma: struct acpi_dma of the given DMA controller
130 static void acpi_dma_parse_csrt(struct acpi_device *adev, struct acpi_dma *adma) in acpi_dma_parse_csrt() argument
149 ret = acpi_dma_parse_resource_group(grp, adev, adma); in acpi_dma_parse_csrt()
182 struct acpi_dma *adma; in acpi_dma_controller_register() local
192 adma = kzalloc(sizeof(*adma), GFP_KERNEL); in acpi_dma_controller_register()
193 if (!adma) in acpi_dma_controller_register()
196 adma->dev = dev; in acpi_dma_controller_register()
197 adma->acpi_dma_xlate = acpi_dma_xlate; in acpi_dma_controller_register()
198 adma->data = data; in acpi_dma_controller_register()
200 acpi_dma_parse_csrt(adev, adma); in acpi_dma_controller_register()
204 list_add_tail(&adma->dma_controllers, &acpi_dma_list); in acpi_dma_controller_register()
222 struct acpi_dma *adma; in acpi_dma_controller_free() local
229 list_for_each_entry(adma, &acpi_dma_list, dma_controllers) in acpi_dma_controller_free()
230 if (adma->dev == dev) { in acpi_dma_controller_free()
231 list_del(&adma->dma_controllers); in acpi_dma_controller_free()
233 kfree(adma); in acpi_dma_controller_free()
277 * @adma: struct acpi_dma of DMA controller
291 static int acpi_dma_update_dma_spec(struct acpi_dma *adma, in acpi_dma_update_dma_spec() argument
295 dma_spec->dev = adma->dev; in acpi_dma_update_dma_spec()
298 if (adma->base_request_line == 0 && adma->end_request_line == 0) in acpi_dma_update_dma_spec()
302 if (dma_spec->slave_id < adma->base_request_line || in acpi_dma_update_dma_spec()
303 dma_spec->slave_id > adma->end_request_line) in acpi_dma_update_dma_spec()
310 dma_spec->slave_id -= adma->base_request_line; in acpi_dma_update_dma_spec()
358 struct acpi_dma *adma; in acpi_dma_request_slave_chan_by_index() local
382 list_for_each_entry(adma, &acpi_dma_list, dma_controllers) { in acpi_dma_request_slave_chan_by_index()
387 found = acpi_dma_update_dma_spec(adma, dma_spec); in acpi_dma_request_slave_chan_by_index()
390 chan = adma->acpi_dma_xlate(dma_spec, adma); in acpi_dma_request_slave_chan_by_index()
444 * @adma: pointer to ACPI DMA controller data
453 struct acpi_dma *adma) in acpi_dma_simple_xlate() argument
455 struct acpi_dma_filter_info *info = adma->data; in acpi_dma_simple_xlate()