@@ -116,21 +116,9 @@ int qib_enable_wc(struct qib_devdata *dd)}if(!ret){-intcookie;--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=(unsignedlong)pioaddr;-dd->wc_len=(unsignedlong)piolen;-}+dd->wc_cookie=arch_phys_wc_add(pioaddr,piolen);+if(dd->wc_cookie<0)+ret=-EINVAL;}returnret;
@@ -142,18 +130,7 @@ int qib_enable_wc(struct qib_devdata *dd)*/voidqib_disable_wc(structqib_devdata*dd){-if(dd->wc_cookie){-intr;--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);}/**
From: Luis R. Rodriguez <hidden> Date: 2015-04-21 21:10:26
On Tue, Apr 21, 2015 at 1:59 PM, Marciniszyn, Mike
[off-list ref] wrote:
quoted
quoted
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
From: Andy Lutomirski <luto@amacapital.net> Date: 2015-04-21 21:12:54
On Tue, Apr 21, 2015 at 2:09 PM, Luis R. Rodriguez
[off-list ref] wrote:
On Tue, Apr 21, 2015 at 1:59 PM, Marciniszyn, Mike
[off-list ref] wrote:
quoted
quoted
quoted
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
From: Luis R. Rodriguez <hidden> Date: 2015-04-21 21:15:19
On Tue, Apr 21, 2015 at 2:12 PM, Andy Lutomirski [off-list ref] wrote:
On Tue, Apr 21, 2015 at 2:09 PM, Luis R. Rodriguez
[off-list ref] wrote:
quoted
On Tue, Apr 21, 2015 at 1:59 PM, Marciniszyn, Mike
[off-list ref] wrote:
quoted
quoted
quoted
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