Messages in this thread | | | Subject | Re: [PATCH] aic7xxx large integer | From | Robert Love <> | Date | Sat, 04 Dec 2004 17:01:17 -0500 |
| |
On Sat, 2004-12-04 at 21:49 +0100, Miguel Angel Flores wrote:
> - mask_39bit = 0x7FFFFFFFFFULL; > + mask_39bit = 0x7FFFFFFF;
I cannot believe that this is the correct solution and, if it is, the name of the variable ought to be changed.
More likely, I suspect that the mask wants to be 39-bits, what with its name and all.
The problem is that DMA addresses come in both 32-bit (generic) and 64-bit (high) forms. mask_39bit is a dma_addr_t so it is 64-bit if CONFIG_HIGHMEM64G and 32-bit otherwise. Possibly, the right solution is to make mask_39bit dma64_addr_t. Or, if the mapping needs to be consistent, assign a different value depending on the value of CONFIG_HIGHMEM64G.
See Documentation/DMA-*.txt for more information.
Robert Love
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |