diff mbox

iommu/ipmmu-vmsa: Don't truncate ttbr if LPAE is not enabled

Message ID 1450810866-4716-1-git-send-email-geert+renesas@glider.be (mailing list archive)
State Accepted
Delegated to: Geert Uytterhoeven
Headers show

Commit Message

Geert Uytterhoeven Dec. 22, 2015, 7:01 p.m. UTC
If CONFIG_PHYS_ADDR_T_64BIT=n:

    drivers/iommu/ipmmu-vmsa.c: In function 'ipmmu_domain_init_context':
    drivers/iommu/ipmmu-vmsa.c:434:2: warning: right shift count >= width of type
      ipmmu_ctx_write(domain, IMTTUBR0, ttbr >> 32);
      ^

As io_pgtable_cfg.arm_lpae_s1_cfg.ttbr[] is an array of u64s, assigning
it to a phys_addr_t may truncates it.  Make ttbr u64 to fix this.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 drivers/iommu/ipmmu-vmsa.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Joerg Roedel Dec. 28, 2015, 4:12 p.m. UTC | #1
On Tue, Dec 22, 2015 at 08:01:06PM +0100, Geert Uytterhoeven wrote:
>  static int ipmmu_domain_init_context(struct ipmmu_vmsa_domain *domain)
>  {
> -	phys_addr_t ttbr;
> +	u64 ttbr;
>  	u32 tmp;
>  	int ret;

Didn't apply cleanly to v4.4-rc7, but fixed it up and queued it to
iommu/fixes.
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c
index e08f4945cd5abb0c..83d7f0c7f47f1296 100644
--- a/drivers/iommu/ipmmu-vmsa.c
+++ b/drivers/iommu/ipmmu-vmsa.c
@@ -385,7 +385,7 @@  static struct iommu_gather_ops ipmmu_gather_ops = {
 
 static int ipmmu_domain_init_context(struct ipmmu_vmsa_domain *domain)
 {
-	phys_addr_t ttbr;
+	u64 ttbr;
 	u32 tmp;
 	int ret;