|
Lines 775-795
Link Here
|
| 775 |
{ |
775 |
{ |
| 776 |
resource->type = ACPI_RESOURCE_TYPE_DMA; |
776 |
resource->type = ACPI_RESOURCE_TYPE_DMA; |
| 777 |
resource->length = sizeof(struct acpi_resource); |
777 |
resource->length = sizeof(struct acpi_resource); |
|
|
778 |
|
| 778 |
/* Note: pnp_assign_dma will copy pnp_dma->flags into p->flags */ |
779 |
/* Note: pnp_assign_dma will copy pnp_dma->flags into p->flags */ |
| 779 |
if (p->flags & IORESOURCE_DMA_COMPATIBLE) |
780 |
|
| 780 |
resource->data.dma.type = ACPI_COMPATIBILITY; |
781 |
switch (p->flags & IORESOURCE_DMA_SPEED_MASK) { |
| 781 |
else if (p->flags & IORESOURCE_DMA_TYPEA) |
782 |
case IORESOURCE_DMA_TYPEA: |
| 782 |
resource->data.dma.type = ACPI_TYPE_A; |
783 |
resource->data.dma.type = ACPI_TYPE_A; |
| 783 |
else if (p->flags & IORESOURCE_DMA_TYPEB) |
784 |
break; |
| 784 |
resource->data.dma.type = ACPI_TYPE_B; |
785 |
case IORESOURCE_DMA_TYPEB: |
| 785 |
else if (p->flags & IORESOURCE_DMA_TYPEF) |
786 |
resource->data.dma.type = ACPI_TYPE_B; |
| 786 |
resource->data.dma.type = ACPI_TYPE_F; |
787 |
break; |
| 787 |
if (p->flags & IORESOURCE_DMA_8BIT) |
788 |
case IORESOURCE_DMA_TYPEF: |
| 788 |
resource->data.dma.transfer = ACPI_TRANSFER_8; |
789 |
resource->data.dma.type = ACPI_TYPE_F; |
| 789 |
else if (p->flags & IORESOURCE_DMA_8AND16BIT) |
790 |
break; |
| 790 |
resource->data.dma.transfer = ACPI_TRANSFER_8_16; |
791 |
default: |
| 791 |
else if (p->flags & IORESOURCE_DMA_16BIT) |
792 |
resource->data.dma.type = ACPI_COMPATIBILITY; |
| 792 |
resource->data.dma.transfer = ACPI_TRANSFER_16; |
793 |
} |
|
|
794 |
|
| 795 |
switch (p->flags & IORESOURCE_DMA_TYPE_MASK) { |
| 796 |
case IORESOURCE_DMA_8BIT: |
| 797 |
resource->data.dma.transfer = ACPI_TRANSFER_8; |
| 798 |
break; |
| 799 |
case IORESOURCE_DMA_8AND16BIT: |
| 800 |
resource->data.dma.transfer = ACPI_TRANSFER_8_16; |
| 801 |
break; |
| 802 |
default: |
| 803 |
resource->data.dma.transfer = ACPI_TRANSFER_16; |
| 804 |
} |
| 805 |
|
| 793 |
resource->data.dma.bus_master = p->flags & IORESOURCE_DMA_MASTER; |
806 |
resource->data.dma.bus_master = p->flags & IORESOURCE_DMA_MASTER; |
| 794 |
resource->data.dma.channel_count = 1; |
807 |
resource->data.dma.channel_count = 1; |
| 795 |
resource->data.dma.channels[0] = p->start; |
808 |
resource->data.dma.channels[0] = p->start; |