Re: [PATCH] aic7xxx large integer

From: Robert Love
Date: Sat Dec 04 2004 - 17:01:58 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/