View | Details | Raw Unified | Return to bug 59841 | Differences between
and this patch

Collapse All | Expand All

(-)x/linux-3.12-rc1/drivers/gpu/drm/i915/i915_drv.c (+4 lines)
Lines 136-141 Link Here
136
module_param_named(enable_ips, i915_enable_ips, int, 0600);
136
module_param_named(enable_ips, i915_enable_ips, int, 0600);
137
MODULE_PARM_DESC(enable_ips, "Enable IPS (default: true)");
137
MODULE_PARM_DESC(enable_ips, "Enable IPS (default: true)");
138
138
139
bool i915_ignore_edp_bpp __read_mostly;
140
module_param_named(i915_ignore_edp_bpp, i915_ignore_edp_bpp, bool, 0600);
141
MODULE_PARM_DESC(i915_ignore_edp_bpp, "Ignore BDB edp BPP value (default: false)");
142
139
bool i915_fastboot __read_mostly = 0;
143
bool i915_fastboot __read_mostly = 0;
140
module_param_named(fastboot, i915_fastboot, bool, 0600);
144
module_param_named(fastboot, i915_fastboot, bool, 0600);
141
MODULE_PARM_DESC(fastboot, "Try to skip unnecessary mode sets at boot time "
145
MODULE_PARM_DESC(fastboot, "Try to skip unnecessary mode sets at boot time "
(-)x/linux-3.12-rc1/drivers/gpu/drm/i915/i915_drv.h (+2 lines)
Lines 651-656 Link Here
651
#define QUIRK_LVDS_SSC_DISABLE (1<<1)
651
#define QUIRK_LVDS_SSC_DISABLE (1<<1)
652
#define QUIRK_INVERT_BRIGHTNESS (1<<2)
652
#define QUIRK_INVERT_BRIGHTNESS (1<<2)
653
#define QUIRK_NO_PCH_PWM_ENABLE (1<<3)
653
#define QUIRK_NO_PCH_PWM_ENABLE (1<<3)
654
#define QUIRK_IGNORE_EDP_BPP (1<<4)
654
655
655
struct intel_fbdev;
656
struct intel_fbdev;
656
struct intel_fbc_work;
657
struct intel_fbc_work;
Lines 1713-1718 Link Here
1713
extern unsigned int i915_preliminary_hw_support __read_mostly;
1714
extern unsigned int i915_preliminary_hw_support __read_mostly;
1714
extern int i915_disable_power_well __read_mostly;
1715
extern int i915_disable_power_well __read_mostly;
1715
extern int i915_enable_ips __read_mostly;
1716
extern int i915_enable_ips __read_mostly;
1717
extern bool i915_ignore_edp_bpp __read_mostly;
1716
extern bool i915_fastboot __read_mostly;
1718
extern bool i915_fastboot __read_mostly;
1717
extern int i915_enable_pc8 __read_mostly;
1719
extern int i915_enable_pc8 __read_mostly;
1718
extern int i915_pc8_timeout __read_mostly;
1720
extern int i915_pc8_timeout __read_mostly;
(-)x/linux-3.12-rc1/drivers/gpu/drm/i915/intel_display.c (+16 lines)
Lines 9932-9937 Link Here
9932
	DRM_INFO("applying no-PCH_PWM_ENABLE quirk\n");
9932
	DRM_INFO("applying no-PCH_PWM_ENABLE quirk\n");
9933
}
9933
}
9934
9934
9935
/*
9936
 * Some machines (e.g. Asus TX300) incorrectly return 18bpp in UEFI mode
9937
 * from vbe edp data
9938
 */
9939
static void quirk_no_edp_bpp_enable(struct drm_device *dev)
9940
{
9941
	struct drm_i915_private *dev_priv = dev->dev_private;
9942
	dev_priv->quirks |= QUIRK_IGNORE_EDP_BPP;
9943
	DRM_INFO("applying IGNORE_EDP_BPP quirk\n");
9944
}
9945
9935
struct intel_quirk {
9946
struct intel_quirk {
9936
	int device;
9947
	int device;
9937
	int subsystem_vendor;
9948
	int subsystem_vendor;
Lines 10006-10011 Link Here
10006
	{ 0x0116, 0x1028, 0x052e, quirk_no_pcm_pwm_enable },
10017
	{ 0x0116, 0x1028, 0x052e, quirk_no_pcm_pwm_enable },
10007
	/* Dell XPS13 HD and XPS13 FHD Ivy Bridge */
10018
	/* Dell XPS13 HD and XPS13 FHD Ivy Bridge */
10008
	{ 0x0166, 0x1028, 0x058b, quirk_no_pcm_pwm_enable },
10019
	{ 0x0166, 0x1028, 0x058b, quirk_no_pcm_pwm_enable },
10020
10021
	/* at least Asus TX300 (0x1042 0x15b7),
10022
	   UX32VD (0x1042 0x1507), Dell XPS13 and Toshiba Kirabook,
10023
	   see https://bugzilla.kernel.org/show_bug.cgi?id=59841 */
10024
	{ 0x0166, PCI_ANY_ID, PCI_ANY_ID, quirk_no_edp_bpp_enable },
10009
};
10025
};
10010
10026
10011
static void intel_init_quirks(struct drm_device *dev)
10027
static void intel_init_quirks(struct drm_device *dev)
(-)x/linux-3.12-rc1/drivers/gpu/drm/i915/intel_dp.c (-1 / +3 lines)
Lines 731-737 Link Here
731
	/* Walk through all bpp values. Luckily they're all nicely spaced with 2
731
	/* Walk through all bpp values. Luckily they're all nicely spaced with 2
732
	 * bpc in between. */
732
	 * bpc in between. */
733
	bpp = pipe_config->pipe_bpp;
733
	bpp = pipe_config->pipe_bpp;
734
	if (is_edp(intel_dp) && dev_priv->vbt.edp_bpp) {
734
	if (is_edp(intel_dp) && dev_priv->vbt.edp_bpp
735
	    && !i915_ignore_edp_bpp
736
	    && !(dev_priv->quirks & QUIRK_IGNORE_EDP_BPP)) {
735
		DRM_DEBUG_KMS("clamping bpp for eDP panel to BIOS-provided %i\n",
737
		DRM_DEBUG_KMS("clamping bpp for eDP panel to BIOS-provided %i\n",
736
			      dev_priv->vbt.edp_bpp);
738
			      dev_priv->vbt.edp_bpp);
737
		bpp = min_t(int, bpp, dev_priv->vbt.edp_bpp);
739
		bpp = min_t(int, bpp, dev_priv->vbt.edp_bpp);

Return to bug 59841