[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6A3DF150A5B70D4F9B66A25E3F7C888D03D5B033@039-SN2MPN1-022.039d.mgd.msft.net>
Date: Thu, 31 May 2012 13:41:34 +0000
From: Bhushan Bharat-R65777 <R65777@...escale.com>
To: Bhushan Bharat-R65777 <R65777@...escale.com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"mingo@...e.hu" <mingo@...e.hu>, "hpa@...or.com" <hpa@...or.com>,
"benh@...nel.crashing.org" <benh@...nel.crashing.org>,
"torvalds@...ux-foundation.org" <torvalds@...ux-foundation.org>,
"yinghai@...nel.org" <yinghai@...nel.org>,
Wood Scott-B07421 <B07421@...escale.com>
CC: "agraf@...e.de" <agraf@...e.de>
Subject: RE: memblock_end_of_DRAM() return end address + 1
Adding some more gentlemen's.
> -----Original Message-----
> From: linux-kernel-owner@...r.kernel.org [mailto:linux-kernel-
> owner@...r.kernel.org] On Behalf Of Bhushan Bharat-R65777
> Sent: Thursday, May 31, 2012 4:34 PM
> To: linux-mm@...ck.org; linux-kernel@...r.kernel.org
> Cc: agraf@...e.de
> Subject: memblock_end_of_DRAM() return end address + 1
>
> Hi All,
>
> memblock_end_of_DRAM() defined in mm/memblock.c returns base_address + size; So
> this is not returning the end_of_DRAM, it is basically returning the end_of_DRAM
> + 1. The name looks to suggest that this returns end address on DRAM.
>
> IIUC, it looks like that some code assumes this returns the end address while
> some assumes this returns end address + 1.
>
> Example:
> 1. arch/powerpc/platforms/85xx/mpc85xx_ds.c
>
>
> <cut>
>
> #ifdef CONFIG_SWIOTLB
> if (memblock_end_of_DRAM() > max) {
> ppc_swiotlb_enable = 1;
> set_pci_dma_ops(&swiotlb_dma_ops);
> ppc_md.pci_dma_dev_setup = pci_dma_dev_setup_swiotlb;
> }
> #endif
>
> <cut>
> <cut>
>
>
> Where max = 0xffffffff; So we assumes that memblock_end_of_DRAM() actually
> returns end address.
>
> ------
> 2.
>
> In arch/powerpc/kernel/dma.c
>
>
> static int dma_direct_dma_supported(struct device *dev, u64 mask) { #ifdef
> CONFIG_PPC64
> /* Could be improved so platforms can set the limit in case
> * they have limited DMA windows
> */
> return mask >= get_dma_offset(dev) + (memblock_end_of_DRAM() - 1);
>
>
> <cut>
>
> It looks to that here we assume base + addr + 1;
>
> -----------
>
>
> Thanks
> -Bharat
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the
> body of a message to majordomo@...r.kernel.org More majordomo info at
> http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists