Commit graph

55 commits

Author SHA1 Message Date
Huacai Chen 33c027ae3c staging: sm750fb: Fix bugs introduced by early commits
Early commit 30ca5cb63c ("staging: sm750fb: change definition of
PANEL_PLANE_TL fields") and 27b047bbe1 ("staging: sm750fb: change
definition of PANEL_PLANE_BR fields") modify the register bit fields
definitions. But the modifications are wrong, because the bit mask of
"bit field 10:0" is not 0xeff, but 0x7ff. The wrong definition bugs
makes display very strange.

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Cc: stable <stable@vger.kernel.org> # 4.6+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-11-07 10:27:40 +01:00
Mike Rapoport 0d5d733b4a staging: sm750: change definition of multi-bit register fields
Use stratigh-forward of multi-bit register fields

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-20 15:33:00 -08:00
Mike Rapoport 10dfcb0644 staging: sm750fb: use BIT() macro for single-bit fields definition
Replace complex definition of single-bit fields with BIT() macro for the
registers that are not currently referenced by the driver.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-20 15:33:00 -08:00
Mike Rapoport 7ea833df30 staging: sm750fb: change definition of CRT_FB_ADDRESS fields
Use stratight-forward definition of CRT_FB_ADDRESS register fields
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-15 18:26:17 -08:00
Mike Rapoport d6a4cba73c staging: sm750fb: change definition of CRT_FB_WIDTH fields
Use stratight-forward definition of CRT_FB_WIDTH register fields
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-15 18:26:17 -08:00
Mike Rapoport 8ffe46109b staging: sm750fb: change definition of PANEL_VERTICAL_SYNC fields
Use stratight-forward definition of PANEL_VERTICAL_SYNC register fields
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-15 18:26:17 -08:00
Mike Rapoport 6014a31dd6 staging: sm750fb: change definition of PANEL_VERTICAL_TOTAL fields
Use stratight-forward definition of PANEL_VERTICAL_TOTAL register fields
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-15 18:26:17 -08:00
Mike Rapoport a6f17bc44d staging: sm750fb: change definition of PANEL_HORIZONTAL_SYNC fields
Use stratight-forward definition of PANEL_HORIZONTAL_SYNC register fields
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-15 18:26:17 -08:00
Mike Rapoport 620c391258 staging: sm750fb: change definition of CRT_VERTICAL_SYNC fields
Use stratight-forward definition of CRT_VERTICAL_SYNC register fields
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-15 18:26:17 -08:00
Mike Rapoport 3d5158d3e3 staging: sm750fb: change definition of CRT_VERTICAL_TOTAL fields
Use stratight-forward definition of CRT_VERTICAL_TOTAL register fields
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-15 18:26:17 -08:00
Mike Rapoport 1adb3c2338 staging: sm750fb: change definition of CRT_HORIZONTAL_SYNC fields
Use stratight-forward definition of CRT_HORIZONTAL_SYNC register fields
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-15 18:26:17 -08:00
Mike Rapoport 32849f85e6 staging: sm750fb: change definition of CRT_HORIZONTAL_TOTAL fields
Use stratight-forward definition of CRT_HORIZONTAL_TOTAL register fields
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-15 18:26:17 -08:00
Mike Rapoport aed4b787b0 staging: sm750fb: change definition of CRT_AUTO_CENTERING_BR fields
Use stratight-forward definition of CRT_AUTO_CENTERING_BR register fields
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-15 18:26:17 -08:00
Mike Rapoport 85943dae29 staging: sm750fb: change definition of CRT_AUTO_CENTERING_TL fields
Use stratight-forward definition of CRT_AUTO_CENTERING_TL register fields

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-15 18:26:17 -08:00
Mike Rapoport 60112069a9 staging: sm750fb: change definition of PANEL_HORIZONTAL_TOTAL fields
Use stratight-forward defintion of PANEL_HORIZONTAL_TOTAL register fields
and use open-coded implementation for register manipulations

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 3e155b8134 staging: sm750fb: use BIT macro for I2C_STATUS fields
Replace complex definition of I2C_STATUS register fields with BIT() macro
and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport b71413e0d5 staging: sm750fb: use BIT macro for I2C_CTRL fields
Replace complex definition of I2C_CTRL register fields with BIT() macro and
use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport cdce1f1877 staging: sm750fb: change definition of CRT_DISPLAY_CTRL multi-bit fields
Use more straight-forward definitions for multi-bit fields of
CRT_DISPLAY_CTRL register and use open-coded implementation for register
manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport d8264edf44 staging: sm750fb: use BIT macro for CRT_DISPLAY_CTRL single-bit fields
Replace complex definition of CRT_DISPLAY_CTRL register fields with
BIT() macro and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 0f23be7050 staging: sm750fb: use BIT macro for DMA_ABORT_INTERRUPT single-bit fields
Replace complex definition of DMA_ABORT_INTERRUPT register fields with
BIT() macro and use open-coded implementation for register manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 27b047bbe1 staging: sm750fb: change definition of PANEL_PLANE_BR fields
Use stratight-forward defintion of PANEL_PLANE_BR register fields and
use open-coded implementation for register manipulations

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 30ca5cb63c staging: sm750fb: change definition of PANEL_PLANE_TL fields
Use stratight-forward defintion of PANEL_PLANE_TL register fields

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport f91969f773 staging: sm750fb: change definition of PANEL_WINDOW_HEIGHT fields
Use stratight-forward defintion of PANEL_WINDOW_HEIGHT register fields and
use open-coded implementation for register manipulations

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 4c221d82cf staging: sm750fb: change definition of PANEL_WINDOW_WIDTH fields
Use stratight-forward defintion of PANEL_WINDOW_WIDTH register fields and
use open-coded implementation for register manipulations

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 26a3cc907c staging: sm750fb: change definition of PANEL_FB_WIDTH fields
Use stratight-forward defintion of PANEL_FB_WIDTH register fields and use
open-coded implementation for register manipulations

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 4463690afc staging: sm750fb: change definition of PANEL_FB_ADDRESS fields
Use BIT() macro for single-bit fields of PANEL_FB_ADDRESS register and
define PANEL_FB_ADDRESS_ADDRESS_MASK for masking the address bits.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport c4e893b7cc staging: sm750fb: change definition of PANEL_DISPLAY_CTRL multi-bit fields
Use more straight-forward definitions for multi-bit fields of
PANEL_DISPLAY_CTRL register and use open-coded implementation for register
manipulation

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport f5d7f1905f staging: sm750fb: remove PANEL_DISPLAY_CTRL_TFT_DISP defines
The PANEL_DISPLAY_CTRL_TFT_DISP definitions artificially encode
PANEL_DISPLAY_CTRL_DUAL_DISPLAY and PANEL_DISPLAY_CTRL_DOUBLE_PIXEL bits
combinations. Replace the PANEL_DISPLAY_CTRL_TFT_DISP usage with direct use
of the bits defined in the datasheet.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 6fba39cf32 staging: sm750fb: use BIT macro for PANEL_DISPLAY_CTRL single-bit fields
Replace complex definition of PANEL_DISPLAY_CTRL register fields with BIT()
macro and use open-coded implementation for register manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 9bd2c86b5a staging: sm750fb: merge reserved bits of PANEL/CRT_DISPLAY_CTRL registers
Use single mask for reserved bits in PANEL_DISPLAY_CTRL and
CRT_DISPLAY_CTRL registers.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 85e4db5347 staging: sm750fb: share common bits in display control registers
The display control registers for primary and secondary display share some
of the bits and those bits can be defined in a single place and then used
for manipulations of the relevant registers.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport e6f10d2814 staging: sm750fb: change definition of VGA_CONFIGURATION multi-bit field
Use more straight-forward definitions for multi-bit field of
VGA_CONFIGURATION register.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport d97981431f staging: sm750fb: use BIT macro for VGA_CONFIGURATION single-bit fields
Replace complex defintion of VGA_CONFIGURATION register fields with BIT()
macro and use open-coded implementation for VGA_CONFIGURATION
manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport cf25a70436 staging: sm750fb: drop redundant defines for PLL_CTRL fields
The PLL_CTRL fields have common defines for several PLL control
registers and re-defining the same values per register is not needed.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport cdd5df644a staging: sm750fb: change defintion of PANEL_PLL_CTRL multi-bit fields
Use more straight-forward definitions for multi-bit field of
PANEL_PLL_CTRL register and use open-coded implementation for register
manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 5557eb17b3 staging: sm750fb: use BIT macro for PLL_CTRL single-bit fields
Replace complex defintion of PLL_CTRL fields with BIT() macro and use
open-coded implementation for PLL register manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport 54feb93153 staging: sm750fb: rename PANEL_PLL_CTRL_* fields to PLL_CTRL_*
Several PLL control registers have the same layout and therefore the
field definitions may be shared for those registers. Renaming
definitions of PANEL_PLL_CTRL_* fields to more generic PLL_CTRL_* will
allow reusing these definitions for other PLL control registers.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:52:37 -08:00
Mike Rapoport f41b17fc3f staging: sm750fb: change definition of POWER_MODE_CTRL multi-bit field
Use more straight-forward definitions for multi-bit field of
POWER_MODE_CTRL register and use open-coded implementation for register
manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport 776980cf0f staging: sm750fb: use BIT macro for POWER_MODE_CTRL single-bit fields
Replace complex definition of POWER_MODE_CTRL register fields with BIT()
macro and use open-coded implementation for register manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport a941245109 staging: sm750fb: change definition of MODE0_GATE multi-bit fields
Use more straight-forward definitions for multi-bit fields of MODE0_GATE
register.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport 05e9d9ea44 staging: sm750fb: use BIT macro for MODE0_GATE single-bit fields
Replace complex definition of MODE0_GATE register fields with BIT() macro
and use open-coded implementation for register manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport 6e8aa4a136 staging: sm750fb: change definition of CURRENT_GATE multi-bit fields
Use more straight-forward definitions for multi-bit fields of
CURRENT_GATE register and use open-coded implementation for register
manipulation.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport 90946e5293 staging: sm750fb: use BIT macro for CURRENT_GATE single-bit fields
Replace complex definition of CURRENT_GATE register fields with BIT() macro
and use open-coded implementation for register manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport 5538d5c8bd staging: sm750fb: change definition of MISC_CTRL multi-bit fields
Use more straight-forward definitions for multi-bit fields of MISC_CTRL
register and use open-coded implementation for register manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport 2a5149e0a2 staging: sm750fb: use BIT macro for GPIO_MUX single-bit fields
Replace complex definition of GPIO_MUX register fields with BIT() macro
and use open-coded implementation for register manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport 5372350be3 staging: sm750fb: use BIT macro for MISC_CTRL single-bit fields
Replace complex definition of MISC_CTRL register fields with BIT() macro
and use open-coded implementation for register manipulations.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport a8856ff88e staging: sm750fb: change definition of SYSTEM_CTRL multi-bit fields
Use more straight-forward definitions for multi-bit fields of
SYSTEM_CTRL register and replace FIELD_GET/SET for these fields with
open-coded implementation.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport 410c756d41 staging: sm750fb: use BIT macro for SYSTEM_CTRL single-bit fields
Replace complex definition of SYSTEM_CTRL fields and usage of
FIELD_GET/SET with BIT() macro and open-coded register value modifications

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport 1c3ad30688 staging: sm750fb: remove unused DE_STATE2_DE_RESERVED
Definition of reserved fields in a register is not interesting

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00
Mike Rapoport ae6061dbfc staging: sm750fb: use BIT macro for DE_STATE2 single-bit fields
Replace complex definition of DE_STATE1 fields and usage of FIELD_GET
with BIT() macro and open-coded register value modifications

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07 18:51:36 -08:00