* [PATCH] drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
@ 2016-07-02 0:07 Rodrigo Vivi
2016-07-02 6:07 ` ✗ Ro.CI.BAT: failure for " Patchwork
2016-07-07 8:36 ` [PATCH] " Ander Conselvan De Oliveira
0 siblings, 2 replies; 5+ messages in thread
From: Rodrigo Vivi @ 2016-07-02 0:07 UTC (permalink / raw)
To: intel-gfx; +Cc: Rodrigo Vivi
Some Kabylake SKUs are going to use Kabypoint PCH.
It is mainly for Halo and DT ones.
From our specs it doesn't seem that KBP brings
any change on the display south engine. So let's consider
this as a continuation of SunrisePoint, i.e., SPT+.
Since it is easy to get confused by a letter change:
KBL = Kabylake - CPU/GPU codename.
KBP = Kabypoint - PCH codename.
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
drivers/gpu/drm/i915/i915_drv.c | 4 ++++
drivers/gpu/drm/i915/i915_drv.h | 3 +++
drivers/gpu/drm/i915/i915_irq.c | 4 ++--
drivers/gpu/drm/i915/intel_panel.c | 3 ++-
4 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index c9abf91..725fd15 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -204,6 +204,10 @@ static void intel_detect_pch(struct drm_device *dev)
DRM_DEBUG_KMS("Found SunrisePoint LP PCH\n");
WARN_ON(!IS_SKYLAKE(dev) &&
!IS_KABYLAKE(dev));
+ } else if (id == INTEL_PCH_KBP_DEVICE_ID_TYPE) {
+ dev_priv->pch_type = PCH_KBP;
+ DRM_DEBUG_KMS("Found KabyPoint PCH\n");
+ WARN_ON(!IS_KABYLAKE(dev));
} else if ((id == INTEL_PCH_P2X_DEVICE_ID_TYPE) ||
(id == INTEL_PCH_P3X_DEVICE_ID_TYPE) ||
((id == INTEL_PCH_QEMU_DEVICE_ID_TYPE) &&
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 0dcc43d..f63ca93 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1020,6 +1020,7 @@ enum intel_pch {
PCH_CPT, /* Cougarpoint PCH */
PCH_LPT, /* Lynxpoint PCH */
PCH_SPT, /* Sunrisepoint PCH */
+ PCH_KBP, /* Kabypoint PCH */
PCH_NOP,
};
@@ -2882,11 +2883,13 @@ struct drm_i915_cmd_table {
#define INTEL_PCH_LPT_LP_DEVICE_ID_TYPE 0x9c00
#define INTEL_PCH_SPT_DEVICE_ID_TYPE 0xA100
#define INTEL_PCH_SPT_LP_DEVICE_ID_TYPE 0x9D00
+#define INTEL_PCH_KBP_DEVICE_ID_TYPE 0xA200
#define INTEL_PCH_P2X_DEVICE_ID_TYPE 0x7100
#define INTEL_PCH_P3X_DEVICE_ID_TYPE 0x7000
#define INTEL_PCH_QEMU_DEVICE_ID_TYPE 0x2900 /* qemu q35 has 2918 */
#define INTEL_PCH_TYPE(dev) (__I915__(dev)->pch_type)
+#define HAS_PCH_KBP(dev) (INTEL_PCH_TYPE(dev) == PCH_KBP)
#define HAS_PCH_SPT(dev) (INTEL_PCH_TYPE(dev) == PCH_SPT)
#define HAS_PCH_LPT(dev) (INTEL_PCH_TYPE(dev) == PCH_LPT)
#define HAS_PCH_LPT_LP(dev) (__I915__(dev)->pch_id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 53d4c80..dd5ebb5 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2433,7 +2433,7 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv, u32 master_ctl)
I915_WRITE(SDEIIR, iir);
ret = IRQ_HANDLED;
- if (HAS_PCH_SPT(dev_priv))
+ if (HAS_PCH_SPT(dev_priv) || HAS_PCH_KBP(dev_priv))
spt_irq_handler(dev_priv, iir);
else
cpt_irq_handler(dev_priv, iir);
@@ -4594,7 +4594,7 @@ void intel_irq_init(struct drm_i915_private *dev_priv)
dev->driver->disable_vblank = gen8_disable_vblank;
if (IS_BROXTON(dev))
dev_priv->display.hpd_irq_setup = bxt_hpd_irq_setup;
- else if (HAS_PCH_SPT(dev))
+ else if (HAS_PCH_SPT(dev) || HAS_PCH_KBP(dev))
dev_priv->display.hpd_irq_setup = spt_hpd_irq_setup;
else
dev_priv->display.hpd_irq_setup = ilk_hpd_irq_setup;
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 3c0b97f0..0c8b2f7 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1731,7 +1731,8 @@ intel_panel_init_backlight_funcs(struct intel_panel *panel)
panel->backlight.set = bxt_set_backlight;
panel->backlight.get = bxt_get_backlight;
panel->backlight.hz_to_pwm = bxt_hz_to_pwm;
- } else if (HAS_PCH_LPT(dev_priv) || HAS_PCH_SPT(dev_priv)) {
+ } else if (HAS_PCH_LPT(dev_priv) || HAS_PCH_SPT(dev_priv) ||
+ HAS_PCH_KBP(dev_priv)) {
panel->backlight.setup = lpt_setup_backlight;
panel->backlight.enable = lpt_enable_backlight;
panel->backlight.disable = lpt_disable_backlight;
--
2.5.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 5+ messages in thread* ✗ Ro.CI.BAT: failure for drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
2016-07-02 0:07 [PATCH] drm/i915: Introduce Kabypoint PCH for Kabylake H/DT Rodrigo Vivi
@ 2016-07-02 6:07 ` Patchwork
2016-07-07 8:36 ` [PATCH] " Ander Conselvan De Oliveira
1 sibling, 0 replies; 5+ messages in thread
From: Patchwork @ 2016-07-02 6:07 UTC (permalink / raw)
To: Rodrigo Vivi; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
URL : https://patchwork.freedesktop.org/series/9404/
State : failure
== Summary ==
Series 9404v1 drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
http://patchwork.freedesktop.org/api/1.0/series/9404/revisions/1/mbox
Test gem_exec_flush:
Subgroup basic-batch-kernel-default-wb:
pass -> DMESG-FAIL (ro-skl3-i5-6260u)
dmesg-fail -> PASS (fi-skl-i5-6260u)
Test gem_exec_suspend:
Subgroup basic-s3:
incomplete -> PASS (fi-hsw-i7-4770k)
Test kms_pipe_crc_basic:
Subgroup nonblocking-crc-pipe-c-frame-sequence:
pass -> SKIP (fi-skl-i5-6260u)
fi-hsw-i7-4770k total:231 pass:196 dwarn:0 dfail:0 fail:2 skip:33
fi-kbl-qkkr total:231 pass:160 dwarn:28 dfail:1 fail:2 skip:40
fi-skl-i5-6260u total:231 pass:203 dwarn:0 dfail:2 fail:0 skip:26
fi-skl-i7-6700k total:231 pass:190 dwarn:0 dfail:2 fail:0 skip:39
fi-snb-i7-2600 total:231 pass:176 dwarn:0 dfail:0 fail:2 skip:53
ro-bdw-i5-5250u total:229 pass:204 dwarn:1 dfail:1 fail:0 skip:23
ro-bdw-i7-5600u total:229 pass:190 dwarn:0 dfail:1 fail:0 skip:38
ro-bsw-n3050 total:229 pass:177 dwarn:0 dfail:1 fail:2 skip:49
ro-byt-n2820 total:229 pass:180 dwarn:0 dfail:1 fail:3 skip:45
ro-hsw-i3-4010u total:229 pass:197 dwarn:0 dfail:1 fail:0 skip:31
ro-hsw-i7-4770r total:229 pass:197 dwarn:0 dfail:1 fail:0 skip:31
ro-ilk-i7-620lm total:229 pass:157 dwarn:0 dfail:1 fail:1 skip:70
ro-ilk1-i5-650 total:224 pass:157 dwarn:0 dfail:1 fail:1 skip:65
ro-ivb-i7-3770 total:229 pass:188 dwarn:0 dfail:1 fail:0 skip:40
ro-skl3-i5-6260u total:229 pass:207 dwarn:1 dfail:2 fail:0 skip:19
ro-snb-i7-2620M total:229 pass:179 dwarn:0 dfail:1 fail:1 skip:48
ro-bdw-i7-5557U failed to connect after reboot
Results at /archive/results/CI_IGT_test/RO_Patchwork_1370/
8707e23 drm-intel-nightly: 2016y-07m-01d-20h-18m-16s UTC integration manifest
5969364 drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
2016-07-02 0:07 [PATCH] drm/i915: Introduce Kabypoint PCH for Kabylake H/DT Rodrigo Vivi
2016-07-02 6:07 ` ✗ Ro.CI.BAT: failure for " Patchwork
@ 2016-07-07 8:36 ` Ander Conselvan De Oliveira
2016-07-07 15:55 ` Vivi, Rodrigo
2016-07-07 17:05 ` Vivi, Rodrigo
1 sibling, 2 replies; 5+ messages in thread
From: Ander Conselvan De Oliveira @ 2016-07-07 8:36 UTC (permalink / raw)
To: Rodrigo Vivi, intel-gfx
On Fri, 2016-07-01 at 17:07 -0700, Rodrigo Vivi wrote:
> Some Kabylake SKUs are going to use Kabypoint PCH.
> It is mainly for Halo and DT ones.
>
> From our specs it doesn't seem that KBP brings
> any change on the display south engine. So let's consider
> this as a continuation of SunrisePoint, i.e., SPT+.
>
> Since it is easy to get confused by a letter change:
> KBL = Kabylake - CPU/GPU codename.
> KBP = Kabypoint - PCH codename.
>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96826
> ---
> drivers/gpu/drm/i915/i915_drv.c | 4 ++++
> drivers/gpu/drm/i915/i915_drv.h | 3 +++
> drivers/gpu/drm/i915/i915_irq.c | 4 ++--
> drivers/gpu/drm/i915/intel_panel.c | 3 ++-
> 4 files changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index c9abf91..725fd15 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -204,6 +204,10 @@ static void intel_detect_pch(struct drm_device *dev)
> DRM_DEBUG_KMS("Found SunrisePoint LP PCH\n");
> WARN_ON(!IS_SKYLAKE(dev) &&
> !IS_KABYLAKE(dev));
> + } else if (id == INTEL_PCH_KBP_DEVICE_ID_TYPE) {
> + dev_priv->pch_type = PCH_KBP;
> + DRM_DEBUG_KMS("Found KabyPoint PCH\n");
> + WARN_ON(!IS_KABYLAKE(dev));
> } else if ((id == INTEL_PCH_P2X_DEVICE_ID_TYPE) ||
> (id == INTEL_PCH_P3X_DEVICE_ID_TYPE) ||
> ((id == INTEL_PCH_QEMU_DEVICE_ID_TYPE) &&
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 0dcc43d..f63ca93 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1020,6 +1020,7 @@ enum intel_pch {
> PCH_CPT, /* Cougarpoint PCH */
> PCH_LPT, /* Lynxpoint PCH */
> PCH_SPT, /* Sunrisepoint PCH */
> + PCH_KBP, /* Kabypoint PCH */
> PCH_NOP,
> };
>
> @@ -2882,11 +2883,13 @@ struct drm_i915_cmd_table {
> #define INTEL_PCH_LPT_LP_DEVICE_ID_TYPE 0x9c00
> #define INTEL_PCH_SPT_DEVICE_ID_TYPE 0xA100
> #define INTEL_PCH_SPT_LP_DEVICE_ID_TYPE 0x9D00
> +#define INTEL_PCH_KBP_DEVICE_ID_TYPE 0xA200
> #define INTEL_PCH_P2X_DEVICE_ID_TYPE 0x7100
> #define INTEL_PCH_P3X_DEVICE_ID_TYPE 0x7000
> #define INTEL_PCH_QEMU_DEVICE_ID_TYPE 0x2900 /* qemu q35 has
> 2918 */
>
> #define INTEL_PCH_TYPE(dev) (__I915__(dev)->pch_type)
> +#define HAS_PCH_KBP(dev) (INTEL_PCH_TYPE(dev) == PCH_KBP)
> #define HAS_PCH_SPT(dev) (INTEL_PCH_TYPE(dev) == PCH_SPT)
> #define HAS_PCH_LPT(dev) (INTEL_PCH_TYPE(dev) == PCH_LPT)
> #define HAS_PCH_LPT_LP(dev) (__I915__(dev)->pch_id ==
> INTEL_PCH_LPT_LP_DEVICE_ID_TYPE)
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 53d4c80..dd5ebb5 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -2433,7 +2433,7 @@ gen8_de_irq_handler(struct drm_i915_private *dev_priv,
> u32 master_ctl)
> I915_WRITE(SDEIIR, iir);
> ret = IRQ_HANDLED;
>
> - if (HAS_PCH_SPT(dev_priv))
> + if (HAS_PCH_SPT(dev_priv) || HAS_PCH_KBP(dev_priv))
> spt_irq_handler(dev_priv, iir);
For CougarPoint and PantherPoint we just set the pch type to PCH_CPT and avoid
the extra HAS_PCH_PPT() macros. Should we do the same thing here?
But either way,
Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
> else
> cpt_irq_handler(dev_priv, iir);
> @@ -4594,7 +4594,7 @@ void intel_irq_init(struct drm_i915_private *dev_priv)
> dev->driver->disable_vblank = gen8_disable_vblank;
> if (IS_BROXTON(dev))
> dev_priv->display.hpd_irq_setup = bxt_hpd_irq_setup;
> - else if (HAS_PCH_SPT(dev))
> + else if (HAS_PCH_SPT(dev) || HAS_PCH_KBP(dev))
> dev_priv->display.hpd_irq_setup = spt_hpd_irq_setup;
> else
> dev_priv->display.hpd_irq_setup = ilk_hpd_irq_setup;
> diff --git a/drivers/gpu/drm/i915/intel_panel.c
> b/drivers/gpu/drm/i915/intel_panel.c
> index 3c0b97f0..0c8b2f7 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -1731,7 +1731,8 @@ intel_panel_init_backlight_funcs(struct intel_panel
> *panel)
> panel->backlight.set = bxt_set_backlight;
> panel->backlight.get = bxt_get_backlight;
> panel->backlight.hz_to_pwm = bxt_hz_to_pwm;
> - } else if (HAS_PCH_LPT(dev_priv) || HAS_PCH_SPT(dev_priv)) {
> + } else if (HAS_PCH_LPT(dev_priv) || HAS_PCH_SPT(dev_priv) ||
> + HAS_PCH_KBP(dev_priv)) {
> panel->backlight.setup = lpt_setup_backlight;
> panel->backlight.enable = lpt_enable_backlight;
> panel->backlight.disable = lpt_disable_backlight;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
2016-07-07 8:36 ` [PATCH] " Ander Conselvan De Oliveira
@ 2016-07-07 15:55 ` Vivi, Rodrigo
2016-07-07 17:05 ` Vivi, Rodrigo
1 sibling, 0 replies; 5+ messages in thread
From: Vivi, Rodrigo @ 2016-07-07 15:55 UTC (permalink / raw)
To: intel-gfx@lists.freedesktop.org, conselvan2@gmail.com
On Thu, 2016-07-07 at 11:36 +0300, Ander Conselvan De Oliveira wrote:
> On Fri, 2016-07-01 at 17:07 -0700, Rodrigo Vivi wrote:
> >
> > Some Kabylake SKUs are going to use Kabypoint PCH.
> > It is mainly for Halo and DT ones.
> >
> > From our specs it doesn't seem that KBP brings
> > any change on the display south engine. So let's consider
> > this as a continuation of SunrisePoint, i.e., SPT+.
> >
> > Since it is easy to get confused by a letter change:
> > KBL = Kabylake - CPU/GPU codename.
> > KBP = Kabypoint - PCH codename.
> >
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96826
What a surprise that it is indeed available outside already!
>
> >
> > ---
> > drivers/gpu/drm/i915/i915_drv.c | 4 ++++
> > drivers/gpu/drm/i915/i915_drv.h | 3 +++
> > drivers/gpu/drm/i915/i915_irq.c | 4 ++--
> > drivers/gpu/drm/i915/intel_panel.c | 3 ++-
> > 4 files changed, 11 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.c
> > b/drivers/gpu/drm/i915/i915_drv.c
> > index c9abf91..725fd15 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.c
> > +++ b/drivers/gpu/drm/i915/i915_drv.c
> > @@ -204,6 +204,10 @@ static void intel_detect_pch(struct drm_device
> > *dev)
> > DRM_DEBUG_KMS("Found SunrisePoint
> > LP PCH\n");
> > WARN_ON(!IS_SKYLAKE(dev) &&
> > !IS_KABYLAKE(dev));
> > + } else if (id ==
> > INTEL_PCH_KBP_DEVICE_ID_TYPE) {
> > + dev_priv->pch_type = PCH_KBP;
> > + DRM_DEBUG_KMS("Found KabyPoint
> > PCH\n");
> > + WARN_ON(!IS_KABYLAKE(dev));
> > } else if ((id ==
> > INTEL_PCH_P2X_DEVICE_ID_TYPE) ||
> > (id ==
> > INTEL_PCH_P3X_DEVICE_ID_TYPE) ||
> > ((id ==
> > INTEL_PCH_QEMU_DEVICE_ID_TYPE) &&
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h
> > b/drivers/gpu/drm/i915/i915_drv.h
> > index 0dcc43d..f63ca93 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -1020,6 +1020,7 @@ enum intel_pch {
> > PCH_CPT, /* Cougarpoint PCH */
> > PCH_LPT, /* Lynxpoint PCH */
> > PCH_SPT, /* Sunrisepoint PCH */
> > + PCH_KBP, /* Kabypoint PCH */
> > PCH_NOP,
> > };
> >
> > @@ -2882,11 +2883,13 @@ struct drm_i915_cmd_table {
> > #define INTEL_PCH_LPT_LP_DEVICE_ID_TYPE 0x9c00
> > #define INTEL_PCH_SPT_DEVICE_ID_TYPE 0xA100
> > #define INTEL_PCH_SPT_LP_DEVICE_ID_TYPE 0x9D00
> > +#define INTEL_PCH_KBP_DEVICE_ID_TYPE 0xA200
> > #define INTEL_PCH_P2X_DEVICE_ID_TYPE 0x7100
> > #define INTEL_PCH_P3X_DEVICE_ID_TYPE 0x7000
> > #define INTEL_PCH_QEMU_DEVICE_ID_TYPE 0x2900 /*
> > qemu q35 has
> > 2918 */
> >
> > #define INTEL_PCH_TYPE(dev) (__I915__(dev)->pch_type)
> > +#define HAS_PCH_KBP(dev) (INTEL_PCH_TYPE(dev) == PCH_KBP)
> > #define HAS_PCH_SPT(dev) (INTEL_PCH_TYPE(dev) == PCH_SPT)
> > #define HAS_PCH_LPT(dev) (INTEL_PCH_TYPE(dev) == PCH_LPT)
> > #define HAS_PCH_LPT_LP(dev) (__I915__(dev)->pch_id ==
> > INTEL_PCH_LPT_LP_DEVICE_ID_TYPE)
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c
> > b/drivers/gpu/drm/i915/i915_irq.c
> > index 53d4c80..dd5ebb5 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -2433,7 +2433,7 @@ gen8_de_irq_handler(struct drm_i915_private
> > *dev_priv,
> > u32 master_ctl)
> > I915_WRITE(SDEIIR, iir);
> > ret = IRQ_HANDLED;
> >
> > - if (HAS_PCH_SPT(dev_priv))
> > + if (HAS_PCH_SPT(dev_priv) ||
> > HAS_PCH_KBP(dev_priv))
> > spt_irq_handler(dev_priv, iir);
> For CougarPoint and PantherPoint we just set the pch type to PCH_CPT
> and avoid
> the extra HAS_PCH_PPT() macros. Should we do the same thing here?
I prefer that separated so we avoid confusion like is_VLV is CHV.
>
> But either way,
>
> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
Thanks
>
>
> >
> > else
> > cpt_irq_handler(dev_priv, iir);
> > @@ -4594,7 +4594,7 @@ void intel_irq_init(struct drm_i915_private
> > *dev_priv)
> > dev->driver->disable_vblank = gen8_disable_vblank;
> > if (IS_BROXTON(dev))
> > dev_priv->display.hpd_irq_setup =
> > bxt_hpd_irq_setup;
> > - else if (HAS_PCH_SPT(dev))
> > + else if (HAS_PCH_SPT(dev) || HAS_PCH_KBP(dev))
> > dev_priv->display.hpd_irq_setup =
> > spt_hpd_irq_setup;
> > else
> > dev_priv->display.hpd_irq_setup =
> > ilk_hpd_irq_setup;
> > diff --git a/drivers/gpu/drm/i915/intel_panel.c
> > b/drivers/gpu/drm/i915/intel_panel.c
> > index 3c0b97f0..0c8b2f7 100644
> > --- a/drivers/gpu/drm/i915/intel_panel.c
> > +++ b/drivers/gpu/drm/i915/intel_panel.c
> > @@ -1731,7 +1731,8 @@ intel_panel_init_backlight_funcs(struct
> > intel_panel
> > *panel)
> > panel->backlight.set = bxt_set_backlight;
> > panel->backlight.get = bxt_get_backlight;
> > panel->backlight.hz_to_pwm = bxt_hz_to_pwm;
> > - } else if (HAS_PCH_LPT(dev_priv) || HAS_PCH_SPT(dev_priv))
> > {
> > + } else if (HAS_PCH_LPT(dev_priv) || HAS_PCH_SPT(dev_priv)
> > ||
> > + HAS_PCH_KBP(dev_priv)) {
> > panel->backlight.setup = lpt_setup_backlight;
> > panel->backlight.enable = lpt_enable_backlight;
> > panel->backlight.disable = lpt_disable_backlight;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] drm/i915: Introduce Kabypoint PCH for Kabylake H/DT.
2016-07-07 8:36 ` [PATCH] " Ander Conselvan De Oliveira
2016-07-07 15:55 ` Vivi, Rodrigo
@ 2016-07-07 17:05 ` Vivi, Rodrigo
1 sibling, 0 replies; 5+ messages in thread
From: Vivi, Rodrigo @ 2016-07-07 17:05 UTC (permalink / raw)
To: intel-gfx@lists.freedesktop.org, conselvan2@gmail.com
Thanks for the review and confirmation it fixes that bug.
Patch is now merged on dinq.
On Thu, 2016-07-07 at 11:36 +0300, Ander Conselvan De Oliveira wrote:
> On Fri, 2016-07-01 at 17:07 -0700, Rodrigo Vivi wrote:
> >
> > Some Kabylake SKUs are going to use Kabypoint PCH.
> > It is mainly for Halo and DT ones.
> >
> > From our specs it doesn't seem that KBP brings
> > any change on the display south engine. So let's consider
> > this as a continuation of SunrisePoint, i.e., SPT+.
> >
> > Since it is easy to get confused by a letter change:
> > KBL = Kabylake - CPU/GPU codename.
> > KBP = Kabypoint - PCH codename.
> >
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96826
>
> >
> > ---
> > drivers/gpu/drm/i915/i915_drv.c | 4 ++++
> > drivers/gpu/drm/i915/i915_drv.h | 3 +++
> > drivers/gpu/drm/i915/i915_irq.c | 4 ++--
> > drivers/gpu/drm/i915/intel_panel.c | 3 ++-
> > 4 files changed, 11 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.c
> > b/drivers/gpu/drm/i915/i915_drv.c
> > index c9abf91..725fd15 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.c
> > +++ b/drivers/gpu/drm/i915/i915_drv.c
> > @@ -204,6 +204,10 @@ static void intel_detect_pch(struct drm_device
> > *dev)
> > DRM_DEBUG_KMS("Found SunrisePoint
> > LP PCH\n");
> > WARN_ON(!IS_SKYLAKE(dev) &&
> > !IS_KABYLAKE(dev));
> > + } else if (id ==
> > INTEL_PCH_KBP_DEVICE_ID_TYPE) {
> > + dev_priv->pch_type = PCH_KBP;
> > + DRM_DEBUG_KMS("Found KabyPoint
> > PCH\n");
> > + WARN_ON(!IS_KABYLAKE(dev));
> > } else if ((id ==
> > INTEL_PCH_P2X_DEVICE_ID_TYPE) ||
> > (id ==
> > INTEL_PCH_P3X_DEVICE_ID_TYPE) ||
> > ((id ==
> > INTEL_PCH_QEMU_DEVICE_ID_TYPE) &&
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h
> > b/drivers/gpu/drm/i915/i915_drv.h
> > index 0dcc43d..f63ca93 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -1020,6 +1020,7 @@ enum intel_pch {
> > PCH_CPT, /* Cougarpoint PCH */
> > PCH_LPT, /* Lynxpoint PCH */
> > PCH_SPT, /* Sunrisepoint PCH */
> > + PCH_KBP, /* Kabypoint PCH */
> > PCH_NOP,
> > };
> >
> > @@ -2882,11 +2883,13 @@ struct drm_i915_cmd_table {
> > #define INTEL_PCH_LPT_LP_DEVICE_ID_TYPE 0x9c00
> > #define INTEL_PCH_SPT_DEVICE_ID_TYPE 0xA100
> > #define INTEL_PCH_SPT_LP_DEVICE_ID_TYPE 0x9D00
> > +#define INTEL_PCH_KBP_DEVICE_ID_TYPE 0xA200
> > #define INTEL_PCH_P2X_DEVICE_ID_TYPE 0x7100
> > #define INTEL_PCH_P3X_DEVICE_ID_TYPE 0x7000
> > #define INTEL_PCH_QEMU_DEVICE_ID_TYPE 0x2900 /*
> > qemu q35 has
> > 2918 */
> >
> > #define INTEL_PCH_TYPE(dev) (__I915__(dev)->pch_type)
> > +#define HAS_PCH_KBP(dev) (INTEL_PCH_TYPE(dev) == PCH_KBP)
> > #define HAS_PCH_SPT(dev) (INTEL_PCH_TYPE(dev) == PCH_SPT)
> > #define HAS_PCH_LPT(dev) (INTEL_PCH_TYPE(dev) == PCH_LPT)
> > #define HAS_PCH_LPT_LP(dev) (__I915__(dev)->pch_id ==
> > INTEL_PCH_LPT_LP_DEVICE_ID_TYPE)
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c
> > b/drivers/gpu/drm/i915/i915_irq.c
> > index 53d4c80..dd5ebb5 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -2433,7 +2433,7 @@ gen8_de_irq_handler(struct drm_i915_private
> > *dev_priv,
> > u32 master_ctl)
> > I915_WRITE(SDEIIR, iir);
> > ret = IRQ_HANDLED;
> >
> > - if (HAS_PCH_SPT(dev_priv))
> > + if (HAS_PCH_SPT(dev_priv) ||
> > HAS_PCH_KBP(dev_priv))
> > spt_irq_handler(dev_priv, iir);
> For CougarPoint and PantherPoint we just set the pch type to PCH_CPT
> and avoid
> the extra HAS_PCH_PPT() macros. Should we do the same thing here?
>
> But either way,
>
> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
>
>
> >
> > else
> > cpt_irq_handler(dev_priv, iir);
> > @@ -4594,7 +4594,7 @@ void intel_irq_init(struct drm_i915_private
> > *dev_priv)
> > dev->driver->disable_vblank = gen8_disable_vblank;
> > if (IS_BROXTON(dev))
> > dev_priv->display.hpd_irq_setup =
> > bxt_hpd_irq_setup;
> > - else if (HAS_PCH_SPT(dev))
> > + else if (HAS_PCH_SPT(dev) || HAS_PCH_KBP(dev))
> > dev_priv->display.hpd_irq_setup =
> > spt_hpd_irq_setup;
> > else
> > dev_priv->display.hpd_irq_setup =
> > ilk_hpd_irq_setup;
> > diff --git a/drivers/gpu/drm/i915/intel_panel.c
> > b/drivers/gpu/drm/i915/intel_panel.c
> > index 3c0b97f0..0c8b2f7 100644
> > --- a/drivers/gpu/drm/i915/intel_panel.c
> > +++ b/drivers/gpu/drm/i915/intel_panel.c
> > @@ -1731,7 +1731,8 @@ intel_panel_init_backlight_funcs(struct
> > intel_panel
> > *panel)
> > panel->backlight.set = bxt_set_backlight;
> > panel->backlight.get = bxt_get_backlight;
> > panel->backlight.hz_to_pwm = bxt_hz_to_pwm;
> > - } else if (HAS_PCH_LPT(dev_priv) || HAS_PCH_SPT(dev_priv))
> > {
> > + } else if (HAS_PCH_LPT(dev_priv) || HAS_PCH_SPT(dev_priv)
> > ||
> > + HAS_PCH_KBP(dev_priv)) {
> > panel->backlight.setup = lpt_setup_backlight;
> > panel->backlight.enable = lpt_enable_backlight;
> > panel->backlight.disable = lpt_disable_backlight;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-07-07 17:06 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-02 0:07 [PATCH] drm/i915: Introduce Kabypoint PCH for Kabylake H/DT Rodrigo Vivi
2016-07-02 6:07 ` ✗ Ro.CI.BAT: failure for " Patchwork
2016-07-07 8:36 ` [PATCH] " Ander Conselvan De Oliveira
2016-07-07 15:55 ` Vivi, Rodrigo
2016-07-07 17:05 ` Vivi, Rodrigo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox