diff options
Diffstat (limited to 'drivers/staging/sm750fb')
-rw-r--r-- | drivers/staging/sm750fb/ddk750_chip.c | 16 | ||||
-rw-r--r-- | drivers/staging/sm750fb/ddk750_chip.h | 2 | ||||
-rw-r--r-- | drivers/staging/sm750fb/ddk750_display.c | 3 | ||||
-rw-r--r-- | drivers/staging/sm750fb/ddk750_display.h | 7 | ||||
-rw-r--r-- | drivers/staging/sm750fb/ddk750_dvi.c | 6 | ||||
-rw-r--r-- | drivers/staging/sm750fb/ddk750_hwi2c.c | 2 | ||||
-rw-r--r-- | drivers/staging/sm750fb/ddk750_mode.c | 107 | ||||
-rw-r--r-- | drivers/staging/sm750fb/ddk750_mode.h | 21 | ||||
-rw-r--r-- | drivers/staging/sm750fb/ddk750_power.c | 5 | ||||
-rw-r--r-- | drivers/staging/sm750fb/ddk750_power.h | 3 | ||||
-rw-r--r-- | drivers/staging/sm750fb/ddk750_reg.h | 4 | ||||
-rw-r--r-- | drivers/staging/sm750fb/sm750.c | 57 | ||||
-rw-r--r-- | drivers/staging/sm750fb/sm750.h | 6 | ||||
-rw-r--r-- | drivers/staging/sm750fb/sm750_accel.c | 9 | ||||
-rw-r--r-- | drivers/staging/sm750fb/sm750_cursor.c | 21 | ||||
-rw-r--r-- | drivers/staging/sm750fb/sm750_hw.c | 2 |
16 files changed, 122 insertions, 149 deletions
diff --git a/drivers/staging/sm750fb/ddk750_chip.c b/drivers/staging/sm750fb/ddk750_chip.c index 10cf729..5e4bfb6 100644 --- a/drivers/staging/sm750fb/ddk750_chip.c +++ b/drivers/staging/sm750fb/ddk750_chip.c @@ -16,9 +16,9 @@ logical_chip_type_t sm750_get_chip_type(void) void sm750_set_chip_type(unsigned short devId, u8 revId) { - if (devId == 0x718) + if (devId == 0x718) { chip = SM718; - else if (devId == 0x750) { + } else if (devId == 0x750) { chip = SM750; /* SM750 and SM750LE are different in their revision ID only. */ if (revId == SM750LE_REVISION_ID) { @@ -69,11 +69,11 @@ static void set_chip_clock(unsigned int frequency) pll.clockType = MXCLK_PLL; /* - * Call sm750_calc_pll_value() to fill the other fields of the PLL - * structure. Sometimes, the chip cannot set up the exact - * clock required by the User. - * Return value of sm750_calc_pll_value gives the actual possible - * clock. + * Call sm750_calc_pll_value() to fill the other fields + * of the PLL structure. Sometimes, the chip cannot set + * up the exact clock required by the User. + * Return value of sm750_calc_pll_value gives the actual + * possible clock. */ ulActualMxClk = sm750_calc_pll_value(frequency, &pll); @@ -352,7 +352,7 @@ unsigned int sm750_calc_pll_value(unsigned int request_orig, struct pll_value *p RN = N * request; quo = RN / input; rem = RN % input;/* rem always small than 14318181 */ - fl_quo = (rem * 10000 / input); + fl_quo = rem * 10000 / input; for (d = max_d; d >= 0; d--) { X = BIT(d); diff --git a/drivers/staging/sm750fb/ddk750_chip.h b/drivers/staging/sm750fb/ddk750_chip.h index fbeb615..2c7a9b9 100644 --- a/drivers/staging/sm750fb/ddk750_chip.h +++ b/drivers/staging/sm750fb/ddk750_chip.h @@ -98,6 +98,6 @@ void sm750_set_chip_type(unsigned short devId, u8 revId); unsigned int sm750_calc_pll_value(unsigned int request, struct pll_value *pll); unsigned int sm750_format_pll_reg(struct pll_value *pPLL); unsigned int ddk750_get_vm_size(void); -int ddk750_init_hw(struct initchip_param *); +int ddk750_init_hw(struct initchip_param *pinit_param); #endif diff --git a/drivers/staging/sm750fb/ddk750_display.c b/drivers/staging/sm750fb/ddk750_display.c index e4724a6..9b116ed6 100644 --- a/drivers/staging/sm750fb/ddk750_display.c +++ b/drivers/staging/sm750fb/ddk750_display.c @@ -146,7 +146,8 @@ void ddk750_setLogicalDispOut(disp_output_t output) if (output & PNL_SEQ_USAGE) { /* set panel sequence */ - swPanelPowerSequence((output & PNL_SEQ_MASK) >> PNL_SEQ_OFFSET, 4); + swPanelPowerSequence((output & PNL_SEQ_MASK) >> PNL_SEQ_OFFSET, + 4); } if (output & DAC_USAGE) diff --git a/drivers/staging/sm750fb/ddk750_display.h b/drivers/staging/sm750fb/ddk750_display.h index 8abca88..609bf74 100644 --- a/drivers/staging/sm750fb/ddk750_display.h +++ b/drivers/staging/sm750fb/ddk750_display.h @@ -12,7 +12,6 @@ #define PNL_2_PRI ((0 << PNL_2_OFFSET) | PNL_2_USAGE) #define PNL_2_SEC ((2 << PNL_2_OFFSET) | PNL_2_USAGE) - /* * primary timing & plane enable bit * 1: 80000[8] & 80000[2] on @@ -24,7 +23,6 @@ #define PRI_TP_ON ((0x1 << PRI_TP_OFFSET) | PRI_TP_USAGE) #define PRI_TP_OFF ((0x0 << PRI_TP_OFFSET) | PRI_TP_USAGE) - /* * panel sequency status * 80000[27:24] @@ -66,7 +64,6 @@ #define CRT_2_PRI ((0x0 << CRT_2_OFFSET) | CRT_2_USAGE) #define CRT_2_SEC ((0x2 << CRT_2_OFFSET) | CRT_2_USAGE) - /* * DAC affect both DVI and DSUB * 4[20] @@ -87,8 +84,6 @@ #define DPMS_OFF ((3 << DPMS_OFFSET) | DPMS_USAGE) #define DPMS_ON ((0 << DPMS_OFFSET) | DPMS_USAGE) - - /* * LCD1 means panel path TFT1 & panel path DVI (so enable DAC) * CRT means crt path DSUB @@ -107,6 +102,6 @@ typedef enum _disp_output_t { } disp_output_t; -void ddk750_setLogicalDispOut(disp_output_t); +void ddk750_setLogicalDispOut(disp_output_t output); #endif diff --git a/drivers/staging/sm750fb/ddk750_dvi.c b/drivers/staging/sm750fb/ddk750_dvi.c index 250c2f4..171ae06 100644 --- a/drivers/staging/sm750fb/ddk750_dvi.c +++ b/drivers/staging/sm750fb/ddk750_dvi.c @@ -5,7 +5,6 @@ #include "ddk750_dvi.h" #include "ddk750_sii164.h" - /* * This global variable contains all the supported driver and its corresponding * function API. Please set the function pointer to NULL whenever the function @@ -30,7 +29,6 @@ static dvi_ctrl_device_t g_dcftSupportedDviController[] = { #endif }; - int dviInit( unsigned char edgeSelect, unsigned char busSelect, @@ -47,7 +45,7 @@ int dviInit( dvi_ctrl_device_t *pCurrentDviCtrl; pCurrentDviCtrl = g_dcftSupportedDviController; - if (pCurrentDviCtrl->pfnInit != NULL) { + if (pCurrentDviCtrl->pfnInit) { return pCurrentDviCtrl->pfnInit(edgeSelect, busSelect, dualEdgeClkSelect, hsyncEnable, vsyncEnable, deskewEnable, deskewSetting, continuousSyncEnable, pllFilterEnable, pllFilterValue); @@ -56,5 +54,3 @@ int dviInit( } #endif - - diff --git a/drivers/staging/sm750fb/ddk750_hwi2c.c b/drivers/staging/sm750fb/ddk750_hwi2c.c index 68716ef..fe814e4 100644 --- a/drivers/staging/sm750fb/ddk750_hwi2c.c +++ b/drivers/staging/sm750fb/ddk750_hwi2c.c @@ -217,7 +217,7 @@ unsigned char sm750_hw_i2c_read_reg( unsigned char reg ) { - unsigned char value = (0xFF); + unsigned char value = 0xFF; if (hw_i2c_write_data(addr, 1, ®) == 1) hw_i2c_read_data(addr, 1, &value); diff --git a/drivers/staging/sm750fb/ddk750_mode.c b/drivers/staging/sm750fb/ddk750_mode.c index 1df7d57..bb673e1 100644 --- a/drivers/staging/sm750fb/ddk750_mode.c +++ b/drivers/staging/sm750fb/ddk750_mode.c @@ -12,7 +12,8 @@ * HW only supports 7 predefined pixel clocks, and clock select is * in bit 29:27 of Display Control register. */ -static unsigned long displayControlAdjust_SM750LE(mode_parameter_t *pModeParam, unsigned long dispControl) +static unsigned long displayControlAdjust_SM750LE(struct mode_parameter *pModeParam, + unsigned long dispControl) { unsigned long x, y; @@ -28,9 +29,9 @@ static unsigned long displayControlAdjust_SM750LE(mode_parameter_t *pModeParam, poke32(CRT_AUTO_CENTERING_TL, 0); poke32(CRT_AUTO_CENTERING_BR, - (((y - 1) << CRT_AUTO_CENTERING_BR_BOTTOM_SHIFT) & - CRT_AUTO_CENTERING_BR_BOTTOM_MASK) | - ((x - 1) & CRT_AUTO_CENTERING_BR_RIGHT_MASK)); + (((y - 1) << CRT_AUTO_CENTERING_BR_BOTTOM_SHIFT) & + CRT_AUTO_CENTERING_BR_BOTTOM_MASK) | + ((x - 1) & CRT_AUTO_CENTERING_BR_RIGHT_MASK)); /* * Assume common fields in dispControl have been properly set before @@ -71,11 +72,9 @@ static unsigned long displayControlAdjust_SM750LE(mode_parameter_t *pModeParam, return dispControl; } - - /* only timing related registers will be programed */ -static int programModeRegisters(mode_parameter_t *pModeParam, - struct pll_value *pll) +static int programModeRegisters(struct mode_parameter *pModeParam, + struct pll_value *pll) { int ret = 0; int cnt = 0; @@ -84,34 +83,38 @@ static int programModeRegisters(mode_parameter_t *pModeParam, if (pll->clockType == SECONDARY_PLL) { /* programe secondary pixel clock */ poke32(CRT_PLL_CTRL, sm750_format_pll_reg(pll)); - poke32(CRT_HORIZONTAL_TOTAL, - (((pModeParam->horizontal_total - 1) << - CRT_HORIZONTAL_TOTAL_TOTAL_SHIFT) & - CRT_HORIZONTAL_TOTAL_TOTAL_MASK) | - ((pModeParam->horizontal_display_end - 1) & - CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK)); - - poke32(CRT_HORIZONTAL_SYNC, - ((pModeParam->horizontal_sync_width << - CRT_HORIZONTAL_SYNC_WIDTH_SHIFT) & - CRT_HORIZONTAL_SYNC_WIDTH_MASK) | - ((pModeParam->horizontal_sync_start - 1) & - CRT_HORIZONTAL_SYNC_START_MASK)); - - poke32(CRT_VERTICAL_TOTAL, - (((pModeParam->vertical_total - 1) << - CRT_VERTICAL_TOTAL_TOTAL_SHIFT) & - CRT_VERTICAL_TOTAL_TOTAL_MASK) | - ((pModeParam->vertical_display_end - 1) & - CRT_VERTICAL_TOTAL_DISPLAY_END_MASK)); - - poke32(CRT_VERTICAL_SYNC, - ((pModeParam->vertical_sync_height << - CRT_VERTICAL_SYNC_HEIGHT_SHIFT) & - CRT_VERTICAL_SYNC_HEIGHT_MASK) | - ((pModeParam->vertical_sync_start - 1) & - CRT_VERTICAL_SYNC_START_MASK)); + tmp = ((pModeParam->horizontal_total - 1) << + CRT_HORIZONTAL_TOTAL_TOTAL_SHIFT) & + CRT_HORIZONTAL_TOTAL_TOTAL_MASK; + tmp |= (pModeParam->horizontal_display_end - 1) & + CRT_HORIZONTAL_TOTAL_DISPLAY_END_MASK; + + poke32(CRT_HORIZONTAL_TOTAL, tmp); + + tmp = (pModeParam->horizontal_sync_width << + CRT_HORIZONTAL_SYNC_WIDTH_SHIFT) & + CRT_HORIZONTAL_SYNC_WIDTH_MASK; + tmp |= (pModeParam->horizontal_sync_start - 1) & + CRT_HORIZONTAL_SYNC_START_MASK; + + poke32(CRT_HORIZONTAL_SYNC, tmp); + + tmp = ((pModeParam->vertical_total - 1) << + CRT_VERTICAL_TOTAL_TOTAL_SHIFT) & + CRT_VERTICAL_TOTAL_TOTAL_MASK; + tmp |= (pModeParam->vertical_display_end - 1) & + CRT_VERTICAL_TOTAL_DISPLAY_END_MASK; + + poke32(CRT_VERTICAL_TOTAL, tmp); + + tmp = ((pModeParam->vertical_sync_height << + CRT_VERTICAL_SYNC_HEIGHT_SHIFT)) & + CRT_VERTICAL_SYNC_HEIGHT_MASK; + tmp |= (pModeParam->vertical_sync_start - 1) & + CRT_VERTICAL_SYNC_START_MASK; + + poke32(CRT_VERTICAL_SYNC, tmp); tmp = DISPLAY_CTRL_TIMING | DISPLAY_CTRL_PLANE; if (pModeParam->vertical_sync_polarity) @@ -143,25 +146,25 @@ static int programModeRegisters(mode_parameter_t *pModeParam, poke32(PANEL_HORIZONTAL_TOTAL, reg); poke32(PANEL_HORIZONTAL_SYNC, - ((pModeParam->horizontal_sync_width << - PANEL_HORIZONTAL_SYNC_WIDTH_SHIFT) & - PANEL_HORIZONTAL_SYNC_WIDTH_MASK) | - ((pModeParam->horizontal_sync_start - 1) & - PANEL_HORIZONTAL_SYNC_START_MASK)); + ((pModeParam->horizontal_sync_width << + PANEL_HORIZONTAL_SYNC_WIDTH_SHIFT) & + PANEL_HORIZONTAL_SYNC_WIDTH_MASK) | + ((pModeParam->horizontal_sync_start - 1) & + PANEL_HORIZONTAL_SYNC_START_MASK)); poke32(PANEL_VERTICAL_TOTAL, - (((pModeParam->vertical_total - 1) << - PANEL_VERTICAL_TOTAL_TOTAL_SHIFT) & - PANEL_VERTICAL_TOTAL_TOTAL_MASK) | - ((pModeParam->vertical_display_end - 1) & - PANEL_VERTICAL_TOTAL_DISPLAY_END_MASK)); + (((pModeParam->vertical_total - 1) << + PANEL_VERTICAL_TOTAL_TOTAL_SHIFT) & + PANEL_VERTICAL_TOTAL_TOTAL_MASK) | + ((pModeParam->vertical_display_end - 1) & + PANEL_VERTICAL_TOTAL_DISPLAY_END_MASK)); poke32(PANEL_VERTICAL_SYNC, - ((pModeParam->vertical_sync_height << - PANEL_VERTICAL_SYNC_HEIGHT_SHIFT) & - PANEL_VERTICAL_SYNC_HEIGHT_MASK) | - ((pModeParam->vertical_sync_start - 1) & - PANEL_VERTICAL_SYNC_START_MASK)); + ((pModeParam->vertical_sync_height << + PANEL_VERTICAL_SYNC_HEIGHT_SHIFT) & + PANEL_VERTICAL_SYNC_HEIGHT_MASK) | + ((pModeParam->vertical_sync_start - 1) & + PANEL_VERTICAL_SYNC_START_MASK)); tmp = DISPLAY_CTRL_TIMING | DISPLAY_CTRL_PLANE; if (pModeParam->vertical_sync_polarity) @@ -202,7 +205,7 @@ static int programModeRegisters(mode_parameter_t *pModeParam, return ret; } -int ddk750_setModeTiming(mode_parameter_t *parm, clock_type_t clock) +int ddk750_setModeTiming(struct mode_parameter *parm, clock_type_t clock) { struct pll_value pll; unsigned int uiActualPixelClk; @@ -219,5 +222,3 @@ int ddk750_setModeTiming(mode_parameter_t *parm, clock_type_t clock) programModeRegisters(parm, &pll); return 0; } - - diff --git a/drivers/staging/sm750fb/ddk750_mode.h b/drivers/staging/sm750fb/ddk750_mode.h index e846dc2..d5eae36 100644 --- a/drivers/staging/sm750fb/ddk750_mode.h +++ b/drivers/staging/sm750fb/ddk750_mode.h @@ -3,27 +3,25 @@ #include "ddk750_chip.h" -typedef enum _spolarity_t { +enum spolarity { POS = 0, /* positive */ NEG, /* negative */ -} -spolarity_t; +}; - -typedef struct _mode_parameter_t { +struct mode_parameter { /* Horizontal timing. */ unsigned long horizontal_total; unsigned long horizontal_display_end; unsigned long horizontal_sync_start; unsigned long horizontal_sync_width; - spolarity_t horizontal_sync_polarity; + enum spolarity horizontal_sync_polarity; /* Vertical timing. */ unsigned long vertical_total; unsigned long vertical_display_end; unsigned long vertical_sync_start; unsigned long vertical_sync_height; - spolarity_t vertical_sync_polarity; + enum spolarity vertical_sync_polarity; /* Refresh timing. */ unsigned long pixel_clock; @@ -31,11 +29,8 @@ typedef struct _mode_parameter_t { unsigned long vertical_frequency; /* Clock Phase. This clock phase only applies to Panel. */ - spolarity_t clock_phase_polarity; -} -mode_parameter_t; - -int ddk750_setModeTiming(mode_parameter_t *, clock_type_t); - + enum spolarity clock_phase_polarity; +}; +int ddk750_setModeTiming(struct mode_parameter *parm, clock_type_t clock); #endif diff --git a/drivers/staging/sm750fb/ddk750_power.c b/drivers/staging/sm750fb/ddk750_power.c index 02ff620..222ae1a 100644 --- a/drivers/staging/sm750fb/ddk750_power.c +++ b/drivers/staging/sm750fb/ddk750_power.c @@ -24,7 +24,6 @@ static unsigned int get_power_mode(void) return peek32(POWER_MODE_CTRL) & POWER_MODE_CTRL_MODE_MASK; } - /* * SM50x can operate in one of three modes: 0, 1 or Sleep. * On hardware reset, power mode 0 is default. @@ -80,8 +79,6 @@ void sm750_set_current_gate(unsigned int gate) poke32(MODE0_GATE, gate); } - - /* * This function enable/disable the 2D engine. */ @@ -145,5 +142,3 @@ void sm750_enable_i2c(unsigned int enable) sm750_set_current_gate(gate); } - - diff --git a/drivers/staging/sm750fb/ddk750_power.h b/drivers/staging/sm750fb/ddk750_power.h index 4274d74..44c4fc5 100644 --- a/drivers/staging/sm750fb/ddk750_power.h +++ b/drivers/staging/sm750fb/ddk750_power.h @@ -14,7 +14,7 @@ DPMS_t; (peek32(MISC_CTRL) & ~MISC_CTRL_DAC_POWER_OFF) | (off)); \ } -void ddk750_set_dpms(DPMS_t); +void ddk750_set_dpms(DPMS_t state); void sm750_set_power_mode(unsigned int powerMode); void sm750_set_current_gate(unsigned int gate); @@ -38,5 +38,4 @@ void sm750_enable_gpio(unsigned int enable); */ void sm750_enable_i2c(unsigned int enable); - #endif diff --git a/drivers/staging/sm750fb/ddk750_reg.h b/drivers/staging/sm750fb/ddk750_reg.h index 4ed6d8d..f9b989b 100644 --- a/drivers/staging/sm750fb/ddk750_reg.h +++ b/drivers/staging/sm750fb/ddk750_reg.h @@ -532,7 +532,6 @@ #define GPIO_INTERRUPT_STATUS_26 BIT(17) #define GPIO_INTERRUPT_STATUS_25 BIT(16) - #define PANEL_DISPLAY_CTRL 0x080000 #define PANEL_DISPLAY_CTRL_RESERVED_MASK 0xc0f08000 #define PANEL_DISPLAY_CTRL_SELECT_SHIFT 28 @@ -1279,7 +1278,6 @@ #define I2C_DATA14 0x010052 #define I2C_DATA15 0x010053 - #define ZV0_CAPTURE_CTRL 0x090000 #define ZV0_CAPTURE_CTRL_FIELD_INPUT BIT(27) #define ZV0_CAPTURE_CTRL_SCAN BIT(26) @@ -1445,7 +1443,6 @@ #define DEFAULT_I2C_SCL 30 #define DEFAULT_I2C_SDA 31 - #define GPIO_DATA_SM750LE 0x020018 #define GPIO_DATA_SM750LE_1 BIT(1) #define GPIO_DATA_SM750LE_0 BIT(0) @@ -1454,5 +1451,4 @@ #define GPIO_DATA_DIRECTION_SM750LE_1 BIT(1) #define GPIO_DATA_DIRECTION_SM750LE_0 BIT(0) - #endif diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index e49f884..386d4ad 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -419,7 +419,7 @@ static int lynxfb_suspend(struct pci_dev *pdev, pm_message_t mesg) if (ret) { dev_err(&pdev->dev, "error:%d occurred in pci_save_state\n", ret); - return ret; + goto lynxfb_suspend_err; } ret = pci_set_power_state(pdev, pci_choose_state(pdev, mesg)); @@ -427,11 +427,13 @@ static int lynxfb_suspend(struct pci_dev *pdev, pm_message_t mesg) dev_err(&pdev->dev, "error:%d occurred in pci_set_power_state\n", ret); - return ret; + goto lynxfb_suspend_err; } } pdev->dev.power.power_state = mesg; + +lynxfb_suspend_err: console_unlock(); return ret; } @@ -456,7 +458,7 @@ static int lynxfb_resume(struct pci_dev *pdev) if (ret) { dev_err(&pdev->dev, "error:%d occurred in pci_set_power_state\n", ret); - return ret; + goto lynxfb_resume_err; } if (pdev->dev.power.power_state.event != PM_EVENT_FREEZE) { @@ -466,7 +468,7 @@ static int lynxfb_resume(struct pci_dev *pdev) dev_err(&pdev->dev, "error:%d occurred in pci_enable_device\n", ret); - return ret; + goto lynxfb_resume_err; } pci_set_master(pdev); } @@ -498,6 +500,8 @@ static int lynxfb_resume(struct pci_dev *pdev) } pdev->dev.power.power_state.event = PM_EVENT_RESUME; + +lynxfb_resume_err: console_unlock(); return ret; } @@ -806,7 +810,6 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index) } for (i = 0; i < 3; i++) { - ret = fb_find_mode(var, info, g_fbmode[index], pdb[i], cdb[i], NULL, 8); @@ -834,15 +837,15 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index) /* some member of info->var had been set by fb_find_mode */ - pr_info("Member of info->var is :\n\ - xres=%d\n\ - yres=%d\n\ - xres_virtual=%d\n\ - yres_virtual=%d\n\ - xoffset=%d\n\ - yoffset=%d\n\ - bits_per_pixel=%d\n \ - ...\n", + pr_info("Member of info->var is :\n" + "xres=%d\n" + "yres=%d\n" + "xres_virtual=%d\n" + "yres_virtual=%d\n" + "xoffset=%d\n" + "yoffset=%d\n" + "bits_per_pixel=%d\n" + " ...\n", var->xres, var->yres, var->xres_virtual, @@ -954,23 +957,23 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src) dev_info(&sm750_dev->pdev->dev, "opt=%s\n", opt); dev_info(&sm750_dev->pdev->dev, "src=%s\n", src); - if (!strncmp(opt, "swap", strlen("swap"))) + if (!strncmp(opt, "swap", strlen("swap"))) { swap = 1; - else if (!strncmp(opt, "nocrt", strlen("nocrt"))) + } else if (!strncmp(opt, "nocrt", strlen("nocrt"))) { sm750_dev->nocrt = 1; - else if (!strncmp(opt, "36bit", strlen("36bit"))) + } else if (!strncmp(opt, "36bit", strlen("36bit"))) { sm750_dev->pnltype = sm750_doubleTFT; - else if (!strncmp(opt, "18bit", strlen("18bit"))) + } else if (!strncmp(opt, "18bit", strlen("18bit"))) { sm750_dev->pnltype = sm750_dualTFT; - else if (!strncmp(opt, "24bit", strlen("24bit"))) + } else if (!strncmp(opt, "24bit", strlen("24bit"))) { sm750_dev->pnltype = sm750_24TFT; - else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) + } else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) { g_hwcursor &= ~0x1; - else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) + } else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) { g_hwcursor &= ~0x2; - else if (!strncmp(opt, "nohwc", strlen("nohwc"))) + } else if (!strncmp(opt, "nohwc", strlen("nohwc"))) { g_hwcursor = 0; - else { + } else { if (!g_fbmode[0]) { g_fbmode[0] = opt; dev_info(&sm750_dev->pdev->dev, @@ -1168,13 +1171,13 @@ static int __init lynxfb_setup(char *options) */ while ((opt = strsep(&options, ":")) != NULL) { /* options that mean for any lynx chips are configured here */ - if (!strncmp(opt, "noaccel", strlen("noaccel"))) + if (!strncmp(opt, "noaccel", strlen("noaccel"))) { g_noaccel = 1; - else if (!strncmp(opt, "nomtrr", strlen("nomtrr"))) + } else if (!strncmp(opt, "nomtrr", strlen("nomtrr"))) { g_nomtrr = 1; - else if (!strncmp(opt, "dual", strlen("dual"))) + } else if (!strncmp(opt, "dual", strlen("dual"))) { g_dualview = 1; - else { + } else { strcat(tmp, opt); tmp += strlen(opt); if (options) diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h index 28f4b9b..5b186da 100644 --- a/drivers/staging/sm750fb/sm750.h +++ b/drivers/staging/sm750fb/sm750.h @@ -177,15 +177,15 @@ struct lynxfb_par { static inline unsigned long ps_to_hz(unsigned int psvalue) { - unsigned long long numerator = 1000*1000*1000*1000ULL; + unsigned long long numerator = 1000 * 1000 * 1000 * 1000ULL; /* 10^12 / picosecond period gives frequency in Hz */ do_div(numerator, psvalue); return (unsigned long)numerator; } int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev); -int hw_sm750_inithw(struct sm750_dev*, struct pci_dev *); -void hw_sm750_initAccel(struct sm750_dev *); +int hw_sm750_inithw(struct sm750_dev *sm750_dev, struct pci_dev *pdev); +void hw_sm750_initAccel(struct sm750_dev *sm750_dev); int hw_sm750_deWait(void); int hw_sm750le_deWait(void); diff --git a/drivers/staging/sm750fb/sm750_accel.c b/drivers/staging/sm750fb/sm750_accel.c index af0db57..6be86e4 100644 --- a/drivers/staging/sm750fb/sm750_accel.c +++ b/drivers/staging/sm750fb/sm750_accel.c @@ -144,11 +144,9 @@ unsigned int height, /* width and height of rectangle in pixel value */ unsigned int rop2) /* ROP value */ { unsigned int nDirection, de_ctrl; - int opSign; nDirection = LEFT_TO_RIGHT; /* Direction of ROP2 operation: 1 = Left to Right, (-1) = Right to Left */ - opSign = 1; de_ctrl = 0; /* If source and destination are the same surface, need to check for overlay cases */ @@ -212,7 +210,6 @@ unsigned int rop2) /* ROP value */ sy += height - 1; dx += width - 1; dy += height - 1; - opSign = (-1); } /* @@ -259,8 +256,6 @@ unsigned int rop2) /* ROP value */ if (accel->de_wait() != 0) return -1; - { - write_dpr(accel, DE_SOURCE, ((sx << DE_SOURCE_X_K1_SHIFT) & DE_SOURCE_X_K1_MASK) | (sy & DE_SOURCE_Y_K2_MASK)); /* dpr0 */ @@ -276,8 +271,6 @@ unsigned int rop2) /* ROP value */ DE_CONTROL_COMMAND_BITBLT | DE_CONTROL_STATUS; write_dpr(accel, DE_CONTROL, de_ctrl); /* dpr0c */ - } - return 0; } @@ -384,7 +377,7 @@ int sm750_hw_imageblit(struct lynx_accel *accel, /* Write MONO data (line by line) to 2D Engine data port */ for (i = 0; i < height; i++) { /* For each line, send the data in chunks of 4 bytes */ - for (j = 0; j < (ul4BytesPerScan/4); j++) + for (j = 0; j < (ul4BytesPerScan / 4); j++) write_dpPort(accel, *(unsigned int *)(pSrcbuf + (j * 4))); if (ulBytesRemain) { diff --git a/drivers/staging/sm750fb/sm750_cursor.c b/drivers/staging/sm750fb/sm750_cursor.c index b1651b0..b64dc8a 100644 --- a/drivers/staging/sm750fb/sm750_cursor.c +++ b/drivers/staging/sm750fb/sm750_cursor.c @@ -54,6 +54,7 @@ void sm750_hw_cursor_enable(struct lynx_cursor *cursor) reg = (cursor->offset & HWC_ADDRESS_ADDRESS_MASK) | HWC_ADDRESS_ENABLE; poke32(HWC_ADDRESS, reg); } + void sm750_hw_cursor_disable(struct lynx_cursor *cursor) { poke32(HWC_ADDRESS, 0); @@ -65,15 +66,17 @@ void sm750_hw_cursor_setSize(struct lynx_cursor *cursor, cursor->w = w; cursor->h = h; } + void sm750_hw_cursor_setPos(struct lynx_cursor *cursor, int x, int y) { u32 reg; - reg = (((y << HWC_LOCATION_Y_SHIFT) & HWC_LOCATION_Y_MASK) | - (x & HWC_LOCATION_X_MASK)); + reg = ((y << HWC_LOCATION_Y_SHIFT) & HWC_LOCATION_Y_MASK) | + (x & HWC_LOCATION_X_MASK); poke32(HWC_LOCATION, reg); } + void sm750_hw_cursor_setColor(struct lynx_cursor *cursor, u32 fg, u32 bg) { @@ -111,14 +114,14 @@ void sm750_hw_cursor_setData(struct lynx_cursor *cursor, data = 0; for (j = 0; j < 8; j++) { - if (mask & (0x80>>j)) { + if (mask & (0x80 >> j)) { if (rop == ROP_XOR) opr = mask ^ color; else opr = mask & color; /* 2 stands for forecolor and 1 for backcolor */ - data |= ((opr & (0x80>>j))?2:1)<<(j*2); + data |= ((opr & (0x80 >> j)) ? 2 : 1) << (j * 2); } } iowrite16(data, pbuffer); @@ -131,10 +134,7 @@ void sm750_hw_cursor_setData(struct lynx_cursor *cursor, } else { pbuffer += sizeof(u16); } - } - - } @@ -165,19 +165,18 @@ void sm750_hw_cursor_setData2(struct lynx_cursor *cursor, data = 0; for (j = 0; j < 8; j++) { - if (mask & (1<<j)) - data |= ((color & (1<<j))?1:2)<<(j*2); + if (mask & (1 << j)) + data |= ((color & (1 << j)) ? 1 : 2) << (j * 2); } iowrite16(data, pbuffer); /* assume pitch is 1,2,4,8,...*/ - if (!(i&(pitch-1))) { + if (!(i & (pitch - 1))) { /* need a return */ pstart += offset; pbuffer = pstart; } else { pbuffer += sizeof(u16); } - } } diff --git a/drivers/staging/sm750fb/sm750_hw.c b/drivers/staging/sm750fb/sm750_hw.c index fab3fc9..baf1bbd 100644 --- a/drivers/staging/sm750fb/sm750_hw.c +++ b/drivers/staging/sm750fb/sm750_hw.c @@ -252,7 +252,7 @@ int hw_sm750_crtc_setMode(struct lynxfb_crtc *crtc, { int ret, fmt; u32 reg; - mode_parameter_t modparm; + struct mode_parameter modparm; clock_type_t clock; struct sm750_dev *sm750_dev; struct lynxfb_par *par; |