Message ID | 1429648676-17755-3-git-send-email-mcgrof@do-not-panic.com (mailing list archive) |
---|---|
State | Rejected |
Headers | show |
On Tue, Apr 21, 2015 at 01:37:55PM -0700, Luis R. Rodriguez wrote: > From: "Luis R. Rodriguez" <mcgrof@suse.com> > > This driver already makes use of ioremap_wc() on PIO buffers, > so convert it to use arch_phys_wc_add(). This is probably OK, but I think you should also remove the qib_wc_pat module parameter. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> > This driver already makes use of ioremap_wc() on PIO buffers, so > > convert it to use arch_phys_wc_add(). > > This is probably OK, but I think you should also remove the qib_wc_pat module > parameter. > > Jason Revise based on Jason's request and I will do some testing. Mike -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Apr 21, 2015 at 1:59 PM, Marciniszyn, Mike <mike.marciniszyn@intel.com> wrote: >> > This driver already makes use of ioremap_wc() on PIO buffers, so >> > convert it to use arch_phys_wc_add(). >> >> This is probably OK, but I think you should also remove the qib_wc_pat module >> parameter. >> >> Jason > > Revise based on Jason's request and I will do some testing. I did thiink about this -- but removal of module parameters can often times break users of the module parameter, I figured its best to leave it to you guys to decide what to do with that, so this leaves it as a no-op. Can this series be applied and then you can decide what to do to not affect your users on top of this? Luis -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Apr 21, 2015 at 2:09 PM, Luis R. Rodriguez <mcgrof@do-not-panic.com> wrote: > On Tue, Apr 21, 2015 at 1:59 PM, Marciniszyn, Mike > <mike.marciniszyn@intel.com> wrote: >>> > This driver already makes use of ioremap_wc() on PIO buffers, so >>> > convert it to use arch_phys_wc_add(). >>> >>> This is probably OK, but I think you should also remove the qib_wc_pat module >>> parameter. >>> >>> Jason >> >> Revise based on Jason's request and I will do some testing. > > I did thiink about this -- but removal of module parameters can often > times break users of the module parameter, I figured its best to leave > it to you guys to decide what to do with that, so this leaves it as a > no-op. Can this series be applied and then you can decide what to do > to not affect your users on top of this? As of a few kernel versions ago, unrecognized module parameters no longer cause the module to refuse to load. --Andy > > Luis
On Tue, Apr 21, 2015 at 2:12 PM, Andy Lutomirski <luto@amacapital.net> wrote: > On Tue, Apr 21, 2015 at 2:09 PM, Luis R. Rodriguez > <mcgrof@do-not-panic.com> wrote: >> On Tue, Apr 21, 2015 at 1:59 PM, Marciniszyn, Mike >> <mike.marciniszyn@intel.com> wrote: >>>> > This driver already makes use of ioremap_wc() on PIO buffers, so >>>> > convert it to use arch_phys_wc_add(). >>>> >>>> This is probably OK, but I think you should also remove the qib_wc_pat module >>>> parameter. >>>> >>>> Jason >>> >>> Revise based on Jason's request and I will do some testing. >> >> I did thiink about this -- but removal of module parameters can often >> times break users of the module parameter, I figured its best to leave >> it to you guys to decide what to do with that, so this leaves it as a >> no-op. Can this series be applied and then you can decide what to do >> to not affect your users on top of this? > > As of a few kernel versions ago, unrecognized module parameters no > longer cause the module to refuse to load. Sexy, I'll respin the changes only to the qib driver. Can the changes to ipath still be applied? Luis -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" 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/infiniband/hw/qib/qib_wc_x86_64.c b/drivers/infiniband/hw/qib/qib_wc_x86_64.c index fe0850a..6d61ef9 100644 --- a/drivers/infiniband/hw/qib/qib_wc_x86_64.c +++ b/drivers/infiniband/hw/qib/qib_wc_x86_64.c @@ -116,21 +116,9 @@ int qib_enable_wc(struct qib_devdata *dd) } if (!ret) { - int cookie; - - cookie = mtrr_add(pioaddr, piolen, MTRR_TYPE_WRCOMB, 1); - if (cookie < 0) { - { - qib_devinfo(dd->pcidev, - "mtrr_add() WC for PIO bufs failed (%d)\n", - cookie); - ret = -EINVAL; - } - } else { - dd->wc_cookie = cookie; - dd->wc_base = (unsigned long) pioaddr; - dd->wc_len = (unsigned long) piolen; - } + dd->wc_cookie = arch_phys_wc_add(pioaddr, piolen); + if (dd->wc_cookie < 0) + ret = -EINVAL; } return ret; @@ -142,18 +130,7 @@ int qib_enable_wc(struct qib_devdata *dd) */ void qib_disable_wc(struct qib_devdata *dd) { - if (dd->wc_cookie) { - int r; - - r = mtrr_del(dd->wc_cookie, dd->wc_base, - dd->wc_len); - if (r < 0) - qib_devinfo(dd->pcidev, - "mtrr_del(%lx, %lx, %lx) failed: %d\n", - dd->wc_cookie, dd->wc_base, - dd->wc_len, r); - dd->wc_cookie = 0; /* even on failure */ - } + arch_phys_wc_del(dd->wc_cookie); } /**