Message ID | 51F2A3AA.4060801@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Jul 26, 2013 at 12:28:26PM -0400, Santosh Shilimkar wrote: > On Friday 26 July 2013 11:10 AM, Russell King - ARM Linux wrote: > > On Fri, Jul 12, 2013 at 05:48:09PM -0400, Santosh Shilimkar wrote: > >> The series is an attempt to move ARM port to NO_BOOTMEM. As discussed > >> on list NO_BOOTMEM move needed updates to max*pfn meaning to be maximum > >> PFNs but that breaks the dma_mask for few block layer drivers since > >> ARM start of physical memory is not PFN0 unlike most of the architectures. > >> Some more read on it is here: > >> http://lwn.net/Articles/543408/ > >> http://lwn.net/Articles/543424/ > >> > >> To address this issue, we introduce generic dma_max_pfn() helper which > >> can be overridden from the architectures. > >> > >> Another intention behind move to nobootmem is also to convert ARM to > >> switch to memblock and getting rid of bootmem allocator dependency which > >> don't work for LPAE machines which has physical memory starting beyond > >> 4 GB boundary. It needs changes to core kernel and also a new memblock > >> API. More on this can be found here: > >> https://lkml.org/lkml/2013/6/29/77 > >> > >> I have been trying to cook up these patches with kind help from Russell > >> and we know series don't solve all the dma_mask bad assumptions. But at > >> least I am hoping that it can get the ball rolling. > >> > >> Comments/testing help is welcome !! > > > > As this is related to some of the cleanup of dma_mask which I've been > > doing, I think it may make sense to roll this into one tree. Any > > objection to that? > > > > Can we get any acks on this stuff from Jens and Jejb etc - especially > > for the bits which touch block/ and for the scsi bits as these are > > touching other subsystems. (oddly, linux-scsi wasn't on the original > > mail for this series summary.) > > > Sorry I missed the scsi lists on the summary patch. > > While browsing the code I found another spot in mmc layer which > needs fixing. The patch is at the end of the email with Chris > and linux-mmc cc'ed here. Would you mind putting them all in the patch system, I can add the acks should anyone supply them later, and I'll repost them along with my set of dma-mask patches. Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Monday 29 July 2013 07:15 AM, Russell King - ARM Linux wrote: > On Fri, Jul 26, 2013 at 12:28:26PM -0400, Santosh Shilimkar wrote: >> On Friday 26 July 2013 11:10 AM, Russell King - ARM Linux wrote: >>> On Fri, Jul 12, 2013 at 05:48:09PM -0400, Santosh Shilimkar wrote: >>>> The series is an attempt to move ARM port to NO_BOOTMEM. As discussed >>>> on list NO_BOOTMEM move needed updates to max*pfn meaning to be maximum >>>> PFNs but that breaks the dma_mask for few block layer drivers since >>>> ARM start of physical memory is not PFN0 unlike most of the architectures. >>>> Some more read on it is here: >>>> http://lwn.net/Articles/543408/ >>>> http://lwn.net/Articles/543424/ >>>> >>>> To address this issue, we introduce generic dma_max_pfn() helper which >>>> can be overridden from the architectures. >>>> >>>> Another intention behind move to nobootmem is also to convert ARM to >>>> switch to memblock and getting rid of bootmem allocator dependency which >>>> don't work for LPAE machines which has physical memory starting beyond >>>> 4 GB boundary. It needs changes to core kernel and also a new memblock >>>> API. More on this can be found here: >>>> https://lkml.org/lkml/2013/6/29/77 >>>> >>>> I have been trying to cook up these patches with kind help from Russell >>>> and we know series don't solve all the dma_mask bad assumptions. But at >>>> least I am hoping that it can get the ball rolling. >>>> >>>> Comments/testing help is welcome !! >>> >>> As this is related to some of the cleanup of dma_mask which I've been >>> doing, I think it may make sense to roll this into one tree. Any >>> objection to that? >>> >>> Can we get any acks on this stuff from Jens and Jejb etc - especially >>> for the bits which touch block/ and for the scsi bits as these are >>> touching other subsystems. (oddly, linux-scsi wasn't on the original >>> mail for this series summary.) >>> >> Sorry I missed the scsi lists on the summary patch. >> >> While browsing the code I found another spot in mmc layer which >> needs fixing. The patch is at the end of the email with Chris >> and linux-mmc cc'ed here. > > Would you mind putting them all in the patch system, I can add the acks > should anyone supply them later, and I'll repost them along with my set > of dma-mask patches. Thanks. > Done. 7794/1, 7795/1, 7796/1, 7797/1, 7798/1, 7799/1 Didn't know how to get XXXX/1,2,3,4... pushed into the tracker. BTW, I have also pushed the patched on my git tree branch [1] just in case you or some one needs it. Regards, Santosh [1] git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone.git 3.12/nobootmem_n_dma-mask -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Jul 29, 2013 at 09:26:44AM -0400, Santosh Shilimkar wrote: > On Monday 29 July 2013 07:15 AM, Russell King - ARM Linux wrote: > > Would you mind putting them all in the patch system, I can add the acks > > should anyone supply them later, and I'll repost them along with my set > > of dma-mask patches. Thanks. > > > Done. > 7794/1, 7795/1, 7796/1, 7797/1, 7798/1, 7799/1 > > Didn't know how to get XXXX/1,2,3,4... pushed into the tracker. > BTW, I have also pushed the patched on my git tree branch [1] just > in case you or some one needs it. Thanks. I'd prefer not to have them as stable commits yet because should we get acks from Jens, Jejb or cjb, we will need to add their acks to them. My dma-masks branch is still very much unstable at the moment (which is why its not published) but I shall be posting the patches during this week. -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Monday 29 July 2013 09:40 AM, Russell King - ARM Linux wrote: > On Mon, Jul 29, 2013 at 09:26:44AM -0400, Santosh Shilimkar wrote: >> On Monday 29 July 2013 07:15 AM, Russell King - ARM Linux wrote: >>> Would you mind putting them all in the patch system, I can add the acks >>> should anyone supply them later, and I'll repost them along with my set >>> of dma-mask patches. Thanks. >>> >> Done. >> 7794/1, 7795/1, 7796/1, 7797/1, 7798/1, 7799/1 >> >> Didn't know how to get XXXX/1,2,3,4... pushed into the tracker. >> BTW, I have also pushed the patched on my git tree branch [1] just >> in case you or some one needs it. > > Thanks. I'd prefer not to have them as stable commits yet because should > we get acks from Jens, Jejb or cjb, we will need to add their acks to them. > right. > My dma-masks branch is still very much unstable at the moment (which is > why its not published) but I shall be posting the patches during this > week. > Sure. Regards, Santosh -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c index fa9632e..357bbc5 100644 --- a/drivers/mmc/card/queue.c +++ b/drivers/mmc/card/queue.c @@ -15,6 +15,7 @@ #include <linux/freezer.h> #include <linux/kthread.h> #include <linux/scatterlist.h> +#include <linux/dma-mapping.h> #include <linux/mmc/card.h> #include <linux/mmc/host.h> @@ -196,7 +197,7 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, struct mmc_queue_req *mqrq_prev = &mq->mqrq[1]; if (mmc_dev(host)->dma_mask && *mmc_dev(host)->dma_mask) - limit = *mmc_dev(host)->dma_mask; + limit = dma_max_pfn(mmc_dev(host)) << PAGE_SHIFT; mq->card = card; mq->queue = blk_init_queue(mmc_request_fn, lock);