staging: sm750fb: Remove space after cast
[firefly-linux-kernel-4.4.55.git] / drivers / staging / sm750fb / ddk750_chip.c
index 5e6798ea9468af13a15bdbf366a6b61387c9144e..1c13e5b0a57a85c1e8157d650e4265d7ef9c352a 100644 (file)
@@ -1,3 +1,5 @@
+#include <linux/sizes.h>
+
 #include "ddk750_help.h"
 #include "ddk750_reg.h"
 #include "ddk750_chip.h"
@@ -10,7 +12,6 @@ typedef struct _pllcalparam {
 }
 pllcalparam;
 
-
 logical_chip_type_t getChipType(void)
 {
        unsigned short physicalID;
@@ -33,23 +34,13 @@ logical_chip_type_t getChipType(void)
        return chip;
 }
 
-
-inline unsigned int twoToPowerOfx(unsigned long x)
-{
-       unsigned long i;
-       unsigned long result = 1;
-
-       for (i = 1; i <= x; i++)
-               result *= 2;
-       return result;
-}
-
-inline unsigned int calcPLL(pll_value_t *pPLL)
+static inline unsigned int calcPLL(pll_value_t *pPLL)
 {
-       return (pPLL->inputFreq * pPLL->M / pPLL->N / twoToPowerOfx(pPLL->OD) / twoToPowerOfx(pPLL->POD));
+       return (pPLL->inputFreq * pPLL->M / pPLL->N / (1 << pPLL->OD) /
+               (1 << pPLL->POD));
 }
 
-unsigned int getPllValue(clock_type_t clockType, pll_value_t *pPLL)
+static unsigned int getPllValue(clock_type_t clockType, pll_value_t *pPLL)
 {
        unsigned int ulPllReg = 0;
 
@@ -82,8 +73,7 @@ unsigned int getPllValue(clock_type_t clockType, pll_value_t *pPLL)
        return calcPLL(pPLL);
 }
 
-
-unsigned int getChipClock(void)
+static unsigned int getChipClock(void)
 {
        pll_value_t pll;
 #if 1
@@ -94,13 +84,12 @@ unsigned int getChipClock(void)
        return getPllValue(MXCLK_PLL, &pll);
 }
 
-
 /*
  * This function set up the main chip clock.
  *
  * Input: Frequency to be set.
  */
-void setChipClock(unsigned int frequency)
+static void setChipClock(unsigned int frequency)
 {
        pll_value_t pll;
        unsigned int ulActualMxClk;
@@ -129,9 +118,7 @@ void setChipClock(unsigned int frequency)
        }
 }
 
-
-
-void setMemoryClock(unsigned int frequency)
+static void setMemoryClock(unsigned int frequency)
 {
        unsigned int ulReg, divisor;
  #if 1
@@ -146,7 +133,7 @@ void setMemoryClock(unsigned int frequency)
                        frequency = MHz(336);
 
                /* Calculate the divisor */
-               divisor = (unsigned int) roundedDiv(getChipClock(), frequency);
+               divisor = (unsigned int)roundedDiv(getChipClock(), frequency);
 
                /* Set the corresponding divisor in the register. */
                ulReg = PEEK32(CURRENT_GATE);
@@ -170,7 +157,6 @@ void setMemoryClock(unsigned int frequency)
        }
 }
 
-
 /*
  * This function set up the master clock (MCLK).
  *
@@ -179,7 +165,7 @@ void setMemoryClock(unsigned int frequency)
  * NOTE:
  *      The maximum frequency the engine can run is 168MHz.
  */
-void setMasterClock(unsigned int frequency)
+static void setMasterClock(unsigned int frequency)
 {
        unsigned int ulReg, divisor;
 #if 1
@@ -194,7 +180,7 @@ void setMasterClock(unsigned int frequency)
                        frequency = MHz(190);
 
                /* Calculate the divisor */
-               divisor = (unsigned int) roundedDiv(getChipClock(), frequency);
+               divisor = (unsigned int)roundedDiv(getChipClock(), frequency);
 
                /* Set the corresponding divisor in the register. */
                ulReg = PEEK32(CURRENT_GATE);
@@ -218,7 +204,6 @@ void setMasterClock(unsigned int frequency)
                }
 }
 
-
 unsigned int ddk750_getVMSize(void)
 {
        unsigned int reg;
@@ -226,7 +211,7 @@ unsigned int ddk750_getVMSize(void)
 
        /* sm750le only use 64 mb memory*/
        if (getChipType() == SM750LE)
-               return MB(64);
+               return SZ_64M;
 
        /* for 750,always use power mode0*/
        reg = PEEK32(MODE0_GATE);
@@ -237,13 +222,13 @@ unsigned int ddk750_getVMSize(void)
        reg = FIELD_GET(PEEK32(MISC_CTRL), MISC_CTRL, LOCALMEM_SIZE);
        switch (reg) {
        case MISC_CTRL_LOCALMEM_SIZE_8M:
-               data = MB(8);  break; /* 8  Mega byte */
+               data = SZ_8M;  break; /* 8  Mega byte */
        case MISC_CTRL_LOCALMEM_SIZE_16M:
-               data = MB(16); break; /* 16 Mega byte */
+               data = SZ_16M; break; /* 16 Mega byte */
        case MISC_CTRL_LOCALMEM_SIZE_32M:
-               data = MB(32); break; /* 32 Mega byte */
+               data = SZ_32M; break; /* 32 Mega byte */
        case MISC_CTRL_LOCALMEM_SIZE_64M:
-               data = MB(64); break; /* 64 Mega byte */
+               data = SZ_64M; break; /* 64 Mega byte */
        default:
                data = 0;
                break;
@@ -256,17 +241,6 @@ int ddk750_initHw(initchip_param_t *pInitParam)
 {
 
        unsigned int ulReg;
-#if 0
-       /* move the code to map regiter function. */
-       if (getChipType() == SM718) {
-               /* turn on big endian bit*/
-               ulReg = PEEK32(0x74);
-               /* now consider register definition in a big endian pattern*/
-               POKE32(0x74, ulReg|0x80000000);
-       }
-
-#endif
-
 
        if (pInitParam->powerMode != 0)
                pInitParam->powerMode = 0;
@@ -333,37 +307,6 @@ int ddk750_initHw(initchip_param_t *pInitParam)
                ulReg = FIELD_SET(ulReg, ALPHA_DISPLAY_CTRL, PLANE, DISABLE);
                POKE32(ALPHA_DISPLAY_CTRL, ulReg);
 
-#if 0
-               /* Disable LCD hardware cursor, if a former application left it on */
-               ulReg = PEEK32(PANEL_HWC_ADDRESS);
-               ulReg = FIELD_SET(ulReg, PANEL_HWC_ADDRESS, ENABLE, DISABLE);
-               POKE32(PANEL_HWC_ADDRESS, ulReg);
-
-               /* Disable CRT hardware cursor, if a former application left it on */
-               ulReg = PEEK32(CRT_HWC_ADDRESS);
-               ulReg = FIELD_SET(ulReg, CRT_HWC_ADDRESS, ENABLE, DISABLE);
-               POKE32(CRT_HWC_ADDRESS, ulReg);
-
-               /* Disable ZV Port 0, if a former application left it on */
-               ulReg = PEEK32(ZV0_CAPTURE_CTRL);
-               ulReg = FIELD_SET(ulReg, ZV0_CAPTURE_CTRL, CAP, DISABLE);
-               POKE32(ZV0_CAPTURE_CTRL, ulReg);
-
-               /* Disable ZV Port 1, if a former application left it on */
-               ulReg = PEEK32(ZV1_CAPTURE_CTRL);
-               ulReg = FIELD_SET(ulReg, ZV1_CAPTURE_CTRL, CAP, DISABLE);
-               POKE32(ZV1_CAPTURE_CTRL, ulReg);
-
-               /* Disable ZV Port Power, if a former application left it on */
-               enableZVPort(0);
-               /* Disable DMA Channel, if a former application left it on */
-               ulReg = PEEK32(DMA_ABORT_INTERRUPT);
-               ulReg = FIELD_SET(ulReg, DMA_ABORT_INTERRUPT, ABORT_1, ABORT);
-               POKE32(DMA_ABORT_INTERRUPT, ulReg);
-
-               /* Disable i2c */
-               enableI2C(0);
-#endif
                /* Disable DMA Channel, if a former application left it on */
                ulReg = PEEK32(DMA_ABORT_INTERRUPT);
                ulReg = FIELD_SET(ulReg, DMA_ABORT_INTERRUPT, ABORT_1, ABORT);
@@ -378,17 +321,6 @@ int ddk750_initHw(initchip_param_t *pInitParam)
        return 0;
 }
 
-#if 0
-
-unsigned int absDiff(unsigned int a, unsigned int b)
-{
-       if (a > b)
-               return(a - b);
-       else
-               return(b - a);
-}
-
-#endif
 /*
        monk liu @ 4/6/2011:
                   re-write the calculatePLL function of ddk750.
@@ -452,10 +384,10 @@ unsigned int calcPllValue(unsigned int request_orig, pll_value_t *pll)
 
        if (pll->clockType != MXCLK_PLL) {
                xparm = &xparm_PIXEL[0];
-               xcnt = sizeof(xparm_PIXEL)/sizeof(xparm_PIXEL[0]);
+               xcnt = ARRAY_SIZE(xparm_PIXEL);
        } else {
                xparm = &xparm_MXCLK[0];
-               xcnt = sizeof(xparm_MXCLK)/sizeof(xparm_MXCLK[0]);
+               xcnt = ARRAY_SIZE(xparm_MXCLK);
        }
 
 
@@ -468,10 +400,10 @@ unsigned int calcPllValue(unsigned int request_orig, pll_value_t *pll)
 
                for (d = xcnt - 1; d >= 0; d--) {
                        X = xparm[d].value;
-                       M = quo*X;
+                       M = quo * X;
                        M += fl_quo * X / 10000;
                        /* round step */
-                       M += (fl_quo*X % 10000) > 5000?1:0;
+                       M += (fl_quo * X % 10000) > 5000 ? 1 : 0;
                        if (M < 256 && M > 0) {
                                unsigned int diff;
 
@@ -491,106 +423,6 @@ unsigned int calcPllValue(unsigned int request_orig, pll_value_t *pll)
        return ret;
 }
 
-unsigned int calcPllValue2(
-unsigned int ulRequestClk, /* Required pixel clock in Hz unit */
-pll_value_t *pPLL           /* Structure to hold the value to be set in PLL */
-)
-{
-       unsigned int M, N, OD, POD = 0, diff, pllClk, odPower, podPower;
-       unsigned int bestDiff = 0xffffffff; /* biggest 32 bit unsigned number */
-       unsigned int ret;
-    /* Init PLL structure to know states */
-       pPLL->M = 0;
-       pPLL->N = 0;
-       pPLL->OD = 0;
-       pPLL->POD = 0;
-
-    /* Sanity check: None at the moment */
-
-    /* Convert everything in Khz range in order to avoid calculation overflow */
-       pPLL->inputFreq /= 1000;
-       ulRequestClk /= 1000;
-
-#ifndef VALIDATION_CHIP
-    /* The maximum of post divider is 8. */
-       for (POD = 0; POD <= 3; POD++)
-#endif
-               {
-
-#ifndef VALIDATION_CHIP
-       /* MXCLK_PLL does not have post divider. */
-       if ((POD > 0) && (pPLL->clockType == MXCLK_PLL))
-               break;
-#endif
-
-       /* Work out 2 to the power of POD */
-       podPower = twoToPowerOfx(POD);
-
-       /* OD has only 2 bits [15:14] and its value must between 0 to 3 */
-       for (OD = 0; OD <= 3; OD++) {
-               /* Work out 2 to the power of OD */
-               odPower = twoToPowerOfx(OD);
-
-#ifdef VALIDATION_CHIP
-       if (odPower > 4)
-               podPower = 4;
-       else
-               podPower = odPower;
-#endif
-
-               /* N has 4 bits [11:8] and its value must between 2 and 15.
-               The N == 1 will behave differently --> Result is not correct. */
-       for (N = 2; N <= 15; N++) {
-               /* The formula for PLL is ulRequestClk = inputFreq * M / N / (2^OD)
-               In the following steps, we try to work out a best M value given the others are known.
-               To avoid decimal calculation, we use 1000 as multiplier for up to 3 decimal places of accuracy.
-               */
-               M = ulRequestClk * N * odPower * 1000 / pPLL->inputFreq;
-               M = roundedDiv(M, 1000);
-
-               /* M field has only 8 bits, reject value bigger than 8 bits */
-               if (M < 256) {
-                       /* Calculate the actual clock for a given M & N */
-                       pllClk = pPLL->inputFreq * M / N / odPower / podPower;
-
-                       /* How much are we different from the requirement */
-                       diff = absDiff(pllClk, ulRequestClk);
-
-                       if (diff < bestDiff) {
-                               bestDiff = diff;
-
-                               /* Store M and N values */
-                               pPLL->M  = M;
-                               pPLL->N  = N;
-                               pPLL->OD = OD;
-
-#ifdef VALIDATION_CHIP
-                       if (OD > 2)
-                               POD = 2;
-                       else
-                               POD = OD;
-#endif
-
-                       pPLL->POD = POD;
-                       }
-               }
-       }
-       }
-       }
-
-    /* Restore input frequency from Khz to hz unit */
-       ulRequestClk *= 1000;
-       pPLL->inputFreq = DEFAULT_INPUT_CLOCK; /* Default reference clock */
-
-    /* Return actual frequency that the PLL can set */
-       ret = calcPLL(pPLL);
-       return ret;
-}
-
-
-
-
-
 unsigned int formatPllReg(pll_value_t *pPLL)
 {
        unsigned int ulPllReg = 0;