The rxe driver fails to build on 32-bit because of a 64-bit division:
In function `rxe_qp_from_attr':
:(.text+0x53158): undefined reference to `__aeabi_uldivmod'
We can easily avoid this division by converting the nanosecond value
into jiffies directly rather than converting to microseconds first.
Signed-off-by: Arnd Bergmann <redacted>
---
drivers/infiniband/hw/rxe/rxe_qp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -664,7 +664,7 @@ int rxe_qp_from_attr(struct rxe_qp *qp, struct ib_qp_attr *attr, int mask,qp->qp_timeout_jiffies=0;}else{/* According to the spec, timeout = 4.096 * 2 ^ attr->timeout [us] */-intj=usecs_to_jiffies((4096ULL<<attr->timeout)/1000);+intj=nsecs_to_jiffies(4096ULL<<attr->timeout);qp->qp_timeout_jiffies=j?j:1;}
--
2.7.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
The new rxe infinband driver passes around pointers that have been
converted to 64-bit integers. This is valid, but causes compile-time
warnings on all 32-bit architectures:
infiniband/hw/rxe/rxe_dma.c: In function 'rxe_dma_map_single':
infiniband/hw/rxe/rxe_dma.c:49:9: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
return (u64)cpu_addr;
^
infiniband/hw/rxe/rxe_dma.c: In function 'rxe_dma_map_page':
infiniband/hw/rxe/rxe_dma.c:73:9: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
infiniband/hw/rxe/rxe_dma.c: In function 'rxe_map_sg':
infiniband/hw/rxe/rxe_dma.c:99:10: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
infiniband/hw/rxe/rxe_dma.c: In function 'rxe_dma_alloc_coherent':
infiniband/hw/rxe/rxe_dma.c:143:17: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
This changes the cast to use 'uintptr_t', which can always be
cast to and from pointer, and can be assigned to and from 64-bit
integers.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/infiniband/hw/rxe/rxe_dma.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
From: Leon Romanovsky <leon@kernel.org> Date: 2016-06-13 13:19:07
On Mon, Jun 13, 2016 at 02:54:53PM +0200, Arnd Bergmann wrote:
The rxe driver fails to build on 32-bit because of a 64-bit division:
In function `rxe_qp_from_attr':
:(.text+0x53158): undefined reference to `__aeabi_uldivmod'
We can easily avoid this division by converting the nanosecond value
into jiffies directly rather than converting to microseconds first.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Thanks Arnd,
All three patches are applied on topic/rxe now.
From: Moni Shoua <hidden> Date: 2016-06-13 15:27:40
thanks. will be applied to next series
On Mon, Jun 13, 2016 at 4:18 PM, Leon Romanovsky [off-list ref] wrote:
On Mon, Jun 13, 2016 at 02:54:53PM +0200, Arnd Bergmann wrote:
quoted
The rxe driver fails to build on 32-bit because of a 64-bit division:
In function `rxe_qp_from_attr':
:(.text+0x53158): undefined reference to `__aeabi_uldivmod'
We can easily avoid this division by converting the nanosecond value
into jiffies directly rather than converting to microseconds first.
Signed-off-by: Arnd Bergmann <redacted>
Thanks Arnd,
All three patches are applied on topic/rxe now.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
2.7.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Moni Shoua <hidden> Date: 2016-06-13 15:29:24
thanks. will be applied to next series.
On Mon, Jun 13, 2016 at 3:54 PM, Arnd Bergmann [off-list ref] wrote:
quoted hunk
The new rxe infinband driver passes around pointers that have been
converted to 64-bit integers. This is valid, but causes compile-time
warnings on all 32-bit architectures:
infiniband/hw/rxe/rxe_dma.c: In function 'rxe_dma_map_single':
infiniband/hw/rxe/rxe_dma.c:49:9: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
return (u64)cpu_addr;
^
infiniband/hw/rxe/rxe_dma.c: In function 'rxe_dma_map_page':
infiniband/hw/rxe/rxe_dma.c:73:9: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
infiniband/hw/rxe/rxe_dma.c: In function 'rxe_map_sg':
infiniband/hw/rxe/rxe_dma.c:99:10: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
infiniband/hw/rxe/rxe_dma.c: In function 'rxe_dma_alloc_coherent':
infiniband/hw/rxe/rxe_dma.c:143:17: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
This changes the cast to use 'uintptr_t', which can always be
cast to and from pointer, and can be assigned to and from 64-bit
integers.
Signed-off-by: Arnd Bergmann <redacted>
---
drivers/infiniband/hw/rxe/rxe_dma.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
2.7.0
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html