]> git.sur5r.net Git - u-boot/blobdiff - drivers/video/atmel_hlcdfb.c
video: cfb_console: simplify logical constraint
[u-boot] / drivers / video / atmel_hlcdfb.c
index 59b9c45616e78eab725a939fefbfeae146a25609..c0dd689e7c1f943f8d7af5f529da152f013297a8 100644 (file)
@@ -70,26 +70,26 @@ void lcd_ctrl_init(void *lcdbase)
 
        /* Disable DISP signal */
        writel(LCDC_LCDDIS_DISPDIS, &regs->lcdc_lcddis);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_DISPSTS,
-                          false, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_DISPSTS,
+                               false, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        /* Disable synchronization */
        writel(LCDC_LCDDIS_SYNCDIS, &regs->lcdc_lcddis);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_LCDSTS,
-                          false, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_LCDSTS,
+                               false, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        /* Disable pixel clock */
        writel(LCDC_LCDDIS_CLKDIS, &regs->lcdc_lcddis);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_CLKSTS,
-                          false, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_CLKSTS,
+                               false, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        /* Disable PWM */
        writel(LCDC_LCDDIS_PWMDIS, &regs->lcdc_lcddis);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_PWMSTS,
-                          false, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_PWMSTS,
+                               false, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
 
@@ -215,26 +215,26 @@ void lcd_ctrl_init(void *lcdbase)
        /* Enable LCD */
        value = readl(&regs->lcdc_lcden);
        writel(value | LCDC_LCDEN_CLKEN, &regs->lcdc_lcden);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_CLKSTS,
-                          true, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_CLKSTS,
+                               true, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        value = readl(&regs->lcdc_lcden);
        writel(value | LCDC_LCDEN_SYNCEN, &regs->lcdc_lcden);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_LCDSTS,
-                          true, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_LCDSTS,
+                               true, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        value = readl(&regs->lcdc_lcden);
        writel(value | LCDC_LCDEN_DISPEN, &regs->lcdc_lcden);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_DISPSTS,
-                          true, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_DISPSTS,
+                               true, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        value = readl(&regs->lcdc_lcden);
        writel(value | LCDC_LCDEN_PWMEN, &regs->lcdc_lcden);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_PWMSTS,
-                          true, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_PWMSTS,
+                               true, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
 
@@ -299,26 +299,26 @@ static void atmel_hlcdc_init(struct udevice *dev)
 
        /* Disable DISP signal */
        writel(LCDC_LCDDIS_DISPDIS, &regs->lcdc_lcddis);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_DISPSTS,
-                          false, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_DISPSTS,
+                               false, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        /* Disable synchronization */
        writel(LCDC_LCDDIS_SYNCDIS, &regs->lcdc_lcddis);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_LCDSTS,
-                          false, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_LCDSTS,
+                               false, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        /* Disable pixel clock */
        writel(LCDC_LCDDIS_CLKDIS, &regs->lcdc_lcddis);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_CLKSTS,
-                          false, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_CLKSTS,
+                               false, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        /* Disable PWM */
        writel(LCDC_LCDDIS_PWMDIS, &regs->lcdc_lcddis);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_PWMSTS,
-                          false, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_PWMSTS,
+                               false, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
 
@@ -426,7 +426,9 @@ static void atmel_hlcdc_init(struct udevice *dev)
        writel(~0UL, &regs->lcdc_baseidr);
 
        /* Setup the DMA descriptor, this descriptor will loop to itself */
-       desc = (struct lcd_dma_desc *)(uc_plat->base - 16);
+       desc = memalign(CONFIG_SYS_CACHELINE_SIZE, sizeof(*desc));
+       if (!desc)
+               return;
 
        desc->address = (u32)uc_plat->base;
 
@@ -436,7 +438,9 @@ static void atmel_hlcdc_init(struct udevice *dev)
        desc->next = (u32)desc;
 
        /* Flush the DMA descriptor if we enabled dcache */
-       flush_dcache_range((u32)desc, (u32)desc + sizeof(*desc));
+       flush_dcache_range((u32)desc,
+                          ALIGN(((u32)desc + sizeof(*desc)),
+                          CONFIG_SYS_CACHELINE_SIZE));
 
        writel(desc->address, &regs->lcdc_baseaddr);
        writel(desc->control, &regs->lcdc_basectrl);
@@ -447,26 +451,26 @@ static void atmel_hlcdc_init(struct udevice *dev)
        /* Enable LCD */
        value = readl(&regs->lcdc_lcden);
        writel(value | LCDC_LCDEN_CLKEN, &regs->lcdc_lcden);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_CLKSTS,
-                          true, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_CLKSTS,
+                               true, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        value = readl(&regs->lcdc_lcden);
        writel(value | LCDC_LCDEN_SYNCEN, &regs->lcdc_lcden);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_LCDSTS,
-                          true, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_LCDSTS,
+                               true, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        value = readl(&regs->lcdc_lcden);
        writel(value | LCDC_LCDEN_DISPEN, &regs->lcdc_lcden);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_DISPSTS,
-                          true, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_DISPSTS,
+                               true, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
        value = readl(&regs->lcdc_lcden);
        writel(value | LCDC_LCDEN_PWMEN, &regs->lcdc_lcden);
-       ret = wait_for_bit(__func__, &regs->lcdc_lcdsr, LCDC_LCDSR_PWMSTS,
-                          true, 1000, false);
+       ret = wait_for_bit_le32(&regs->lcdc_lcdsr, LCDC_LCDSR_PWMSTS,
+                               true, 1000, false);
        if (ret)
                printf("%s: %d: Timeout!\n", __func__, __LINE__);
 }
@@ -497,15 +501,15 @@ static int atmel_hlcdc_ofdata_to_platdata(struct udevice *dev)
 {
        struct atmel_hlcdc_priv *priv = dev_get_priv(dev);
        const void *blob = gd->fdt_blob;
-       int node = dev->of_offset;
+       int node = dev_of_offset(dev);
 
-       priv->regs = (struct atmel_hlcd_regs *)dev_get_addr(dev);
+       priv->regs = (struct atmel_hlcd_regs *)devfdt_get_addr(dev);
        if (!priv->regs) {
                debug("%s: No display controller address\n", __func__);
                return -EINVAL;
        }
 
-       if (fdtdec_decode_display_timing(blob, dev->of_offset,
+       if (fdtdec_decode_display_timing(blob, dev_of_offset(dev),
                                         0, &priv->timing)) {
                debug("%s: Failed to decode display timing\n", __func__);
                return -EINVAL;