> On Mon, 3 Mar 2008 12:04:00 +0100 > "rubisher" <rubisher@xxxxxxxxxx> wrote: > > > > On Sun, Mar 02, 2008 at 03:10:25PM +0900, FUJITA Tomonori wrote: > > > > This patchset is another sequel to my patchset to fix iommu segment > > > > boundary problems, IOMMUs allocate memory areas without considering a > > > > low level driver's segment boundary limits: > > > > > > > > http://www.mail-archive.com/linux-scsi@xxxxxxxxxxxxxxx/msg11919.html > > > > > > > > > > This looks fine. Are you able to test this? If not, we can set you up > > > with an account on a machine with remote console and all that jazz, if > > > you'd like to. > > > > > > cheers, Kyle > > > -- [snip] > Thanks a lot for testing! > Always welcome ;-) > Really sorry about the bug. Don't worry, those boxes are there for my fun... > Can you try the following patch? It's on the top of the patchset. > Good catch: now this first testing system (I mean the b2k) is up and running ;-) I will now try the ccio_dma driver on a d380 ... hth, r. > Thanks, > > diff --git a/drivers/parisc/ccio-dma.c b/drivers/parisc/ccio-dma.c > index 2f3b364..d0855a1 100644 > --- a/drivers/parisc/ccio-dma.c > +++ b/drivers/parisc/ccio-dma.c > @@ -366,8 +366,8 @@ ccio_alloc_range(struct ioc *ioc, struct device *dev, size_t size) > ** ggg sacrifices another 710 to the computer gods. > */ > > - boundary_size = ALIGN(dma_get_seg_boundary(dev) + 1, 1 << IOVP_SHIFT); > - boundary_size >>= IOVP_SHIFT; > + boundary_size = ALIGN((unsigned long long)dma_get_seg_boundary(dev) + 1, > + 1ULL << IOVP_SHIFT) >> IOVP_SHIFT; > > if (pages_needed <= 8) { > /* > diff --git a/drivers/parisc/sba_iommu.c b/drivers/parisc/sba_iommu.c > index e834127..bdbe780 100644 > --- a/drivers/parisc/sba_iommu.c > +++ b/drivers/parisc/sba_iommu.c > @@ -341,8 +341,8 @@ sba_search_bitmap(struct ioc *ioc, struct device *dev, > unsigned long shift; > int ret; > > - boundary_size = ALIGN(dma_get_seg_boundary(dev) + 1, 1 << IOVP_SHIFT); > - boundary_size >>= IOVP_SHIFT; > + boundary_size = ALIGN((unsigned long long)dma_get_seg_boundary(dev) + 1, > + 1ULL << IOVP_SHIFT) >> IOVP_SHIFT; > > #if defined(ZX1_SUPPORT) > BUG_ON(ioc->ibase & ~IOVP_MASK); > -- > To unsubscribe from this list: send the line "unsubscribe linux-parisc" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > > --- Scarlet One, ADSL 6 Mbps + Telephone, from EUR 29,95... http://www.scarlet.be/ -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html