View | Details | Raw Unified | Return to bug 116655
Collapse All | Expand All

(-)linux-2.6.16-8/drivers/pnp/pnpacpi/rsparser.c (-14 / +27 lines)
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;

Return to bug 116655