Add more panel debugging info to register dump & vbios reader
This commit is contained in:
parent
5eccb5ec7e
commit
ba4a4b7887
|
|
@ -198,11 +198,22 @@ static void dump_lvds_data(void *data, unsigned char *base)
|
|||
if (i == panel_type)
|
||||
marker = '*';
|
||||
else
|
||||
marker = ' ';
|
||||
continue;
|
||||
|
||||
printf("%c\tpanel type %02i: %dx%d clock %d\n", marker,
|
||||
i, lfp_data->fp_timing.x_res, lfp_data->fp_timing.y_res,
|
||||
_PIXEL_CLOCK(timing_data));
|
||||
printf("\t\tinfo:\n");
|
||||
printf("\t\t LVDS: 0x%08lx\n",
|
||||
(unsigned long)lfp_data->fp_timing.lvds_reg_val);
|
||||
printf("\t\t PP_ON_DELAYS: 0x%08lx\n",
|
||||
(unsigned long)lfp_data->fp_timing.pp_on_reg_val);
|
||||
printf("\t\t PP_OFF_DELAYS: 0x%08lx\n",
|
||||
(unsigned long)lfp_data->fp_timing.pp_off_reg_val);
|
||||
printf("\t\t PP_DIVISOR: 0x%08lx\n",
|
||||
(unsigned long)lfp_data->fp_timing.pp_cycle_reg_val);
|
||||
printf("\t\t PFIT: 0x%08lx\n",
|
||||
(unsigned long)lfp_data->fp_timing.pfit_reg_val);
|
||||
printf("\t\ttimings: %d %d %d %d %d %d %d %d\n",
|
||||
_H_ACTIVE(timing_data),
|
||||
_H_BLANK(timing_data),
|
||||
|
|
|
|||
|
|
@ -899,9 +899,9 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
# define POWER_DOWN_ON_RESET (1 << 1)
|
||||
# define POWER_TARGET_ON (1 << 0)
|
||||
|
||||
#define LVDSPP_ON 0x61208
|
||||
#define LVDSPP_OFF 0x6120c
|
||||
#define PP_CYCLE 0x61210
|
||||
#define PP_ON_DELAYS 0x61208
|
||||
#define PP_OFF_DELAYS 0x6120c
|
||||
#define PP_DIVISOR 0x61210
|
||||
|
||||
#define PFIT_CONTROL 0x61230
|
||||
# define PFIT_ENABLE (1 << 31)
|
||||
|
|
|
|||
|
|
@ -682,7 +682,7 @@ typedef struct _I830Rec {
|
|||
uint32_t savePP_ON;
|
||||
uint32_t savePP_OFF;
|
||||
uint32_t savePP_CONTROL;
|
||||
uint32_t savePP_CYCLE;
|
||||
uint32_t savePP_DIVISOR;
|
||||
uint32_t savePFIT_CONTROL;
|
||||
uint32_t savePaletteA[256];
|
||||
uint32_t savePaletteB[256];
|
||||
|
|
|
|||
|
|
@ -521,6 +521,9 @@ static struct i830SnapshotRec {
|
|||
|
||||
DEFINEREG2(PP_CONTROL, i830_debug_pp_control),
|
||||
DEFINEREG2(PP_STATUS, i830_debug_pp_status),
|
||||
DEFINEREG(PP_ON_DELAYS),
|
||||
DEFINEREG(PP_OFF_DELAYS),
|
||||
DEFINEREG(PP_DIVISOR),
|
||||
DEFINEREG(PFIT_CONTROL),
|
||||
DEFINEREG(PFIT_PGM_RATIOS),
|
||||
DEFINEREG(PORT_HOTPLUG_EN),
|
||||
|
|
|
|||
|
|
@ -449,10 +449,10 @@ i830_lvds_save (xf86OutputPtr output)
|
|||
|
||||
if (IS_I965GM(pI830) || IS_GM45(pI830))
|
||||
pI830->saveBLC_PWM_CTL2 = INREG(BLC_PWM_CTL2);
|
||||
pI830->savePP_ON = INREG(LVDSPP_ON);
|
||||
pI830->savePP_OFF = INREG(LVDSPP_OFF);
|
||||
pI830->savePP_ON = INREG(PP_ON_DELAYS);
|
||||
pI830->savePP_OFF = INREG(PP_OFF_DELAYS);
|
||||
pI830->savePP_CONTROL = INREG(PP_CONTROL);
|
||||
pI830->savePP_CYCLE = INREG(PP_CYCLE);
|
||||
pI830->savePP_DIVISOR = INREG(PP_DIVISOR);
|
||||
pI830->saveBLC_PWM_CTL = INREG(BLC_PWM_CTL);
|
||||
if ((INREG(PP_CONTROL) & POWER_TARGET_ON) && !dev_priv->dpmsoff)
|
||||
dev_priv->backlight_duty_cycle = dev_priv->get_backlight(output);
|
||||
|
|
@ -467,9 +467,9 @@ i830_lvds_restore(xf86OutputPtr output)
|
|||
if (IS_I965GM(pI830) || IS_GM45(pI830))
|
||||
OUTREG(BLC_PWM_CTL2, pI830->saveBLC_PWM_CTL2);
|
||||
OUTREG(BLC_PWM_CTL, pI830->saveBLC_PWM_CTL);
|
||||
OUTREG(LVDSPP_ON, pI830->savePP_ON);
|
||||
OUTREG(LVDSPP_OFF, pI830->savePP_OFF);
|
||||
OUTREG(PP_CYCLE, pI830->savePP_CYCLE);
|
||||
OUTREG(PP_ON_DELAYS, pI830->savePP_ON);
|
||||
OUTREG(PP_OFF_DELAYS, pI830->savePP_OFF);
|
||||
OUTREG(PP_DIVISOR, pI830->savePP_DIVISOR);
|
||||
OUTREG(PP_CONTROL, pI830->savePP_CONTROL);
|
||||
if (pI830->savePP_CONTROL & POWER_TARGET_ON)
|
||||
i830SetLVDSPanelPower(output, TRUE);
|
||||
|
|
|
|||
Loading…
Reference in New Issue