Re: IB/ehca: Fix sg_page() fallout

2007-10-23 Thread Jens Axboe
On Tue, Oct 23 2007, Olof Johansson wrote:
 
 More fallout from sg_page changes:
 
 drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_set_pagebuf_user1':
 drivers/infiniband/hw/ehca/ehca_mrmw.c:1779: error: 'struct scatterlist' has 
 no member named 'page'
 drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 
 'ehca_check_kpages_per_ate':
 drivers/infiniband/hw/ehca/ehca_mrmw.c:1835: error: 'struct scatterlist' has 
 no member named 'page'
 drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_set_pagebuf_user2':
 drivers/infiniband/hw/ehca/ehca_mrmw.c:1870: error: 'struct scatterlist' has 
 no member named 'page'
 
 
 Signed-off-by: Olof Johansson [EMAIL PROTECTED]
 
 
 ---
 
 On Tue, Oct 23, 2007 at 07:05:12AM +0200, Jens Axboe wrote:
  On Mon, Oct 22 2007, Olof Johansson wrote:
   More fallout from sg_page changes, found with powerpc allyesconfig:
   
   drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 
   'ehca_set_pagebuf_user1':
   drivers/infiniband/hw/ehca/ehca_mrmw.c:1779: error: 'struct scatterlist' 
   has no member named 'page'
   drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 
   'ehca_check_kpages_per_ate':
   drivers/infiniband/hw/ehca/ehca_mrmw.c:1835: error: 'struct scatterlist' 
   has no member named 'page'
   drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 
   'ehca_set_pagebuf_user2':
   drivers/infiniband/hw/ehca/ehca_mrmw.c:1870: error: 'struct scatterlist' 
   has no member named 'page'
  
  Thanks a lot Olof, applied both fixups!
 
 I messed up the second fix. :( please replace with this.

No problem, applied.

-- 
Jens Axboe

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: IB/ehca: Fix sg_page() fallout

2007-10-22 Thread Olof Johansson

More fallout from sg_page changes:

drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_set_pagebuf_user1':
drivers/infiniband/hw/ehca/ehca_mrmw.c:1779: error: 'struct scatterlist' has no 
member named 'page'
drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_check_kpages_per_ate':
drivers/infiniband/hw/ehca/ehca_mrmw.c:1835: error: 'struct scatterlist' has no 
member named 'page'
drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_set_pagebuf_user2':
drivers/infiniband/hw/ehca/ehca_mrmw.c:1870: error: 'struct scatterlist' has no 
member named 'page'


Signed-off-by: Olof Johansson [EMAIL PROTECTED]


---

On Tue, Oct 23, 2007 at 07:05:12AM +0200, Jens Axboe wrote:
 On Mon, Oct 22 2007, Olof Johansson wrote:
  More fallout from sg_page changes, found with powerpc allyesconfig:
  
  drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 
  'ehca_set_pagebuf_user1':
  drivers/infiniband/hw/ehca/ehca_mrmw.c:1779: error: 'struct scatterlist' 
  has no member named 'page'
  drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 
  'ehca_check_kpages_per_ate':
  drivers/infiniband/hw/ehca/ehca_mrmw.c:1835: error: 'struct scatterlist' 
  has no member named 'page'
  drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 
  'ehca_set_pagebuf_user2':
  drivers/infiniband/hw/ehca/ehca_mrmw.c:1870: error: 'struct scatterlist' 
  has no member named 'page'
 
 Thanks a lot Olof, applied both fixups!

I messed up the second fix. :( please replace with this.


-Olof


diff --git a/drivers/infiniband/hw/ehca/ehca_mrmw.c 
b/drivers/infiniband/hw/ehca/ehca_mrmw.c
index da88738..ead7230 100644
--- a/drivers/infiniband/hw/ehca/ehca_mrmw.c
+++ b/drivers/infiniband/hw/ehca/ehca_mrmw.c
@@ -1776,7 +1776,7 @@ static int ehca_set_pagebuf_user1(struct ehca_mr_pginfo 
*pginfo,
list_for_each_entry_continue(
chunk, ((pginfo-u.usr.region-chunk_list)), list) {
for (i = pginfo-u.usr.next_nmap; i  chunk-nmap; ) {
-   pgaddr = page_to_pfn(chunk-page_list[i].page)
+   pgaddr = page_to_pfn(sg_page(chunk-page_list[i]))
 PAGE_SHIFT ;
*kpage = phys_to_abs(pgaddr +
 (pginfo-next_hwpage *
@@ -1832,7 +1832,7 @@ static int ehca_check_kpages_per_ate(struct scatterlist 
*page_list,
 {
int t;
for (t = start_idx; t = end_idx; t++) {
-   u64 pgaddr = page_to_pfn(page_list[t].page)  PAGE_SHIFT;
+   u64 pgaddr = page_to_pfn(sg_page(page_list[t]))  PAGE_SHIFT;
ehca_gen_dbg(chunk_page=%lx value=%016lx, pgaddr,
 *(u64 *)abs_to_virt(phys_to_abs(pgaddr)));
if (pgaddr - PAGE_SIZE != *prev_pgaddr) {
@@ -1867,7 +1867,7 @@ static int ehca_set_pagebuf_user2(struct ehca_mr_pginfo 
*pginfo,
chunk, ((pginfo-u.usr.region-chunk_list)), list) {
for (i = pginfo-u.usr.next_nmap; i  chunk-nmap; ) {
if (nr_kpages == kpages_per_hwpage) {
-   pgaddr = ( page_to_pfn(chunk-page_list[i].page)
+   pgaddr = ( 
page_to_pfn(sg_page(chunk-page_list[i]))
PAGE_SHIFT );
*kpage = phys_to_abs(pgaddr);
if ( !(*kpage) ) {
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev