2019-08-14 19:36:14

by John Stultz

[permalink] [raw]
Subject: [RESEND][PATCH v3 00/26] drm: Kirin driver cleanups to prep for Kirin960 support

Just wanted to resend this patch set so I didn't have to
continue carrying it forever to keep the HiKey960 board running.

This patchset contains one fix (in the front, so its easier to
eventually backport), and a series of changes from YiPing to
refactor the kirin drm driver so that it can be used on both
kirin620 based devices (like the original HiKey board) as well
as kirin960 based devices (like the HiKey960 board).

The full kirin960 drm support is still being refactored, but as
this base kirin rework was getting to be substantial, I wanted
to send out the first chunk, so that the review burden wasn't
overwhelming.

The full HiKey960 patch stack can be found here:
https://git.linaro.org/people/john.stultz/android-dev.git/log/?h=dev/hikey960-mainline-WIP

thanks
-john

Cc: Rongrong Zou <[email protected]>
Cc: Xinliang Liu <[email protected]>
Cc: David Airlie <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: dri-devel <[email protected]>
Cc: Sam Ravnborg <[email protected]>

Da Lv (1):
drm: kirin: Fix for hikey620 display offset problem

John Stultz (4):
drm: kirin: Get rid of drmP.h includes
drm: kirin: Remove HISI_KIRIN_DW_DSI config option
drm: kirin: Remove unreachable return
drm: kirin: Move workqueue to ade_hw_ctx structure

Xu YiPing (21):
drm: kirin: Remove uncessary parameter indirection
drm: kirin: Remove out_format from ade_crtc
drm: kirin: Rename ade_plane to kirin_plane
drm: kirin: Rename ade_crtc to kirin_crtc
drm: kirin: Dynamically allocate the hw_ctx
drm: kirin: Move request irq handle in ade hw ctx alloc
drm: kirin: Move kirin_crtc, kirin_plane, kirin_format to
kirin_drm_drv.h
drm: kirin: Reanme dc_ops to kirin_drm_data
drm: kirin: Move ade crtc/plane help functions to driver_data
drm: kirin: Move channel formats to driver data
drm: kirin: Move mode config function to driver_data
drm: kirin: Move plane number and primay plane in driver data
drm: kirin: Move config max_width and max_height to driver data
drm: kirin: Move drm driver to driver data
drm: kirin: Add register connect helper functions in drm init
drm: kirin: Rename plane_init and crtc_init
drm: kirin: Fix dev->driver_data setting
drm: kirin: Make driver_data variable non-global
drm: kirin: Add alloc_hw_ctx/clean_hw_ctx ops in driver data
drm: kirin: Pass driver data to crtc init and plane init
drm: kirin: Move ade drm init to kirin drm drv

drivers/gpu/drm/hisilicon/kirin/Kconfig | 10 +-
drivers/gpu/drm/hisilicon/kirin/Makefile | 4 +-
.../gpu/drm/hisilicon/kirin/kirin_ade_reg.h | 1 +
.../gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 360 +++++++-----------
.../gpu/drm/hisilicon/kirin/kirin_drm_drv.c | 257 +++++++++----
.../gpu/drm/hisilicon/kirin/kirin_drm_drv.h | 48 ++-
6 files changed, 379 insertions(+), 301 deletions(-)

--
2.17.1


2019-08-14 19:36:16

by John Stultz

[permalink] [raw]
Subject: [RESEND][PATCH v3 01/26] drm: kirin: Fix for hikey620 display offset problem

From: Da Lv <[email protected]>

The original HiKey (620) board has had a long running issue
where when using a 1080p montior, the display would occasionally
blink and come come back with a horizontal offset (usually also
shifting the colors, depending on the value of the offset%4).

After lots of analysis by HiSi developers, they found the issue
was due to when running at 1080p, it was possible to hit the
device memory bandwidth limits, which could cause the DSI signal
to get out of sync.

Unfortunately the DSI logic doesn't have the ability to
automatically recover from this situation, but we can get a an
LDI underflow interrupt when it happens.

To then correct the issue, when we get an LDI underflow irq, we
we can simply suspend and resume the display, which resets the
hardware.

Thus, this patch enables the ldi underflow interrupt, and
initializes a workqueue that is used to suspend/resume the
display to recover. Then when the irq occurs we clear it and
schedule the workqueue to reset display engine.

Cc: Rongrong Zou <[email protected]>
Cc: Xinliang Liu <[email protected]>
Cc: David Airlie <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: dri-devel <[email protected]>
Cc: Sam Ravnborg <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Signed-off-by: Da Lv <[email protected]>
Signed-off-by: Yidong Lin <[email protected]>
[jstultz: Reworded the commit message, checkpatch cleanups]
Signed-off-by: John Stultz <[email protected]>
---
v2: Minor cleanups

v3: Rename workqueue entry for clarity (suggested by Sam)
---
.../gpu/drm/hisilicon/kirin/kirin_ade_reg.h | 1 +
.../gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 22 +++++++++++++++++++
2 files changed, 23 insertions(+)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_ade_reg.h b/drivers/gpu/drm/hisilicon/kirin/kirin_ade_reg.h
index e2ac09894a6d..0da860200410 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_ade_reg.h
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_ade_reg.h
@@ -83,6 +83,7 @@
#define VSIZE_OFST 20
#define LDI_INT_EN 0x741C
#define FRAME_END_INT_EN_OFST 1
+#define UNDERFLOW_INT_EN_OFST 2
#define LDI_CTRL 0x7420
#define BPP_OFST 3
#define DATA_GATE_EN BIT(2)
diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
index ad7042ae2241..d69b5d458950 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
@@ -54,6 +54,7 @@ struct ade_hw_ctx {
struct ade_crtc {
struct drm_crtc base;
struct ade_hw_ctx *ctx;
+ struct work_struct display_reset_wq;
bool enable;
u32 out_format;
};
@@ -172,6 +173,7 @@ static void ade_init(struct ade_hw_ctx *ctx)
*/
ade_update_bits(base + ADE_CTRL, FRM_END_START_OFST,
FRM_END_START_MASK, REG_EFFECTIVE_IN_ADEEN_FRMEND);
+ ade_update_bits(base + LDI_INT_EN, UNDERFLOW_INT_EN_OFST, MASK(1), 1);
}

static bool ade_crtc_mode_fixup(struct drm_crtc *crtc,
@@ -341,6 +343,17 @@ static void ade_crtc_disable_vblank(struct drm_crtc *crtc)
MASK(1), 0);
}

+static void drm_underflow_wq(struct work_struct *work)
+{
+ struct ade_crtc *acrtc = container_of(work, struct ade_crtc,
+ display_reset_wq);
+ struct drm_device *drm_dev = (&acrtc->base)->dev;
+ struct drm_atomic_state *state;
+
+ state = drm_atomic_helper_suspend(drm_dev);
+ drm_atomic_helper_resume(drm_dev, state);
+}
+
static irqreturn_t ade_irq_handler(int irq, void *data)
{
struct ade_crtc *acrtc = data;
@@ -358,6 +371,12 @@ static irqreturn_t ade_irq_handler(int irq, void *data)
MASK(1), 1);
drm_crtc_handle_vblank(crtc);
}
+ if (status & BIT(UNDERFLOW_INT_EN_OFST)) {
+ ade_update_bits(base + LDI_INT_CLR, UNDERFLOW_INT_EN_OFST,
+ MASK(1), 1);
+ DRM_ERROR("LDI underflow!");
+ schedule_work(&acrtc->display_reset_wq);
+ }

return IRQ_HANDLED;
}
@@ -1034,6 +1053,9 @@ static int ade_drm_init(struct platform_device *pdev)
/* vblank irq init */
ret = devm_request_irq(dev->dev, ctx->irq, ade_irq_handler,
IRQF_SHARED, dev->driver->name, acrtc);
+
+ INIT_WORK(&acrtc->display_reset_wq, drm_underflow_wq);
+
if (ret)
return ret;

--
2.17.1

2019-08-14 19:36:16

by John Stultz

[permalink] [raw]
Subject: [RESEND][PATCH v3 03/26] drm: kirin: Remove HISI_KIRIN_DW_DSI config option

The CONFIG_HISI_KIRIN_DW_DSI option is only used w/ kirin
driver, so cut out the middleman and condense the config
logic down.

Cc: Rongrong Zou <[email protected]>
Cc: Xinliang Liu <[email protected]>
Cc: David Airlie <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: dri-devel <[email protected]>
Cc: Sam Ravnborg <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Signed-off-by: John Stultz <[email protected]>
---
drivers/gpu/drm/hisilicon/kirin/Kconfig | 10 +---------
drivers/gpu/drm/hisilicon/kirin/Makefile | 4 ++--
2 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/Kconfig b/drivers/gpu/drm/hisilicon/kirin/Kconfig
index 0fa29af08ad0..290553e2f6b4 100644
--- a/drivers/gpu/drm/hisilicon/kirin/Kconfig
+++ b/drivers/gpu/drm/hisilicon/kirin/Kconfig
@@ -5,16 +5,8 @@ config DRM_HISI_KIRIN
select DRM_KMS_HELPER
select DRM_GEM_CMA_HELPER
select DRM_KMS_CMA_HELPER
- select HISI_KIRIN_DW_DSI
+ select DRM_MIPI_DSI
help
Choose this option if you have a hisilicon Kirin chipsets(hi6220).
If M is selected the module will be called kirin-drm.

-config HISI_KIRIN_DW_DSI
- tristate "HiSilicon Kirin specific extensions for Synopsys DW MIPI DSI"
- depends on DRM_HISI_KIRIN
- select DRM_MIPI_DSI
- help
- This selects support for HiSilicon Kirin SoC specific extensions for
- the Synopsys DesignWare DSI driver. If you want to enable MIPI DSI on
- hi6220 based SoC, you should selet this option.
diff --git a/drivers/gpu/drm/hisilicon/kirin/Makefile b/drivers/gpu/drm/hisilicon/kirin/Makefile
index c0501fa3fe53..c50606cfbbdb 100644
--- a/drivers/gpu/drm/hisilicon/kirin/Makefile
+++ b/drivers/gpu/drm/hisilicon/kirin/Makefile
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
kirin-drm-y := kirin_drm_drv.o \
- kirin_drm_ade.o
+ kirin_drm_ade.o \
+ dw_drm_dsi.o

obj-$(CONFIG_DRM_HISI_KIRIN) += kirin-drm.o

-obj-$(CONFIG_HISI_KIRIN_DW_DSI) += dw_drm_dsi.o
--
2.17.1

2019-08-14 19:38:48

by John Stultz

[permalink] [raw]
Subject: [RESEND][PATCH v3 07/26] drm: kirin: Rename ade_plane to kirin_plane

From: Xu YiPing <[email protected]>

As part of refactoring the kirin driver to better support
different hardware revisions, this patch renames the
struct ade_plane to kirin_plane.

The struct kirin_plane will later used by both kirin620 and
future kirin960 driver, and will be moved to a common
kirin_drm_drv.h in a future patch

Cc: Rongrong Zou <[email protected]>
Cc: Xinliang Liu <[email protected]>
Cc: David Airlie <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: dri-devel <[email protected]>
Cc: Sam Ravnborg <[email protected]>
Reviewed-by: Sam Ravnborg <[email protected]>
Signed-off-by: Xu YiPing <[email protected]>
[jstultz: reworded commit message]
Signed-off-by: John Stultz <[email protected]>
---
.../gpu/drm/hisilicon/kirin/kirin_drm_ade.c | 57 ++++++++++---------
1 file changed, 29 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
index 73dff21bed6a..c09040876e68 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.c
@@ -41,8 +41,9 @@
#define to_ade_crtc(crtc) \
container_of(crtc, struct ade_crtc, base)

-#define to_ade_plane(plane) \
- container_of(plane, struct ade_plane, base)
+#define to_kirin_plane(plane) \
+ container_of(plane, struct kirin_plane, base)
+

struct ade_hw_ctx {
void __iomem *base;
@@ -62,15 +63,15 @@ struct ade_crtc {
bool enable;
};

-struct ade_plane {
+struct kirin_plane {
struct drm_plane base;
- void *ctx;
- u8 ch; /* channel */
+ void *hw_ctx;
+ u32 ch;
};

struct ade_data {
struct ade_crtc acrtc;
- struct ade_plane aplane[ADE_CH_NUM];
+ struct kirin_plane planes[ADE_CH_NUM];
struct ade_hw_ctx ctx;
};

@@ -795,16 +796,16 @@ static void ade_compositor_routing_disable(void __iomem *base, u32 ch)
/*
* Typicaly, a channel looks like: DMA-->clip-->scale-->ctrans-->compositor
*/
-static void ade_update_channel(struct ade_plane *aplane,
+static void ade_update_channel(struct kirin_plane *kplane,
struct drm_framebuffer *fb, int crtc_x,
int crtc_y, unsigned int crtc_w,
unsigned int crtc_h, u32 src_x,
u32 src_y, u32 src_w, u32 src_h)
{
- struct ade_hw_ctx *ctx = aplane->ctx;
+ struct ade_hw_ctx *ctx = kplane->hw_ctx;
void __iomem *base = ctx->base;
u32 fmt = ade_get_format(fb->format->format);
- u32 ch = aplane->ch;
+ u32 ch = kplane->ch;
u32 in_w;
u32 in_h;

@@ -828,11 +829,11 @@ static void ade_update_channel(struct ade_plane *aplane,
ade_compositor_routing_set(base, ch, crtc_x, crtc_y, in_w, in_h, fmt);
}

-static void ade_disable_channel(struct ade_plane *aplane)
+static void ade_disable_channel(struct kirin_plane *kplane)
{
- struct ade_hw_ctx *ctx = aplane->ctx;
+ struct ade_hw_ctx *ctx = kplane->hw_ctx;
void __iomem *base = ctx->base;
- u32 ch = aplane->ch;
+ u32 ch = kplane->ch;

DRM_DEBUG_DRIVER("disable channel%d\n", ch + 1);

@@ -894,10 +895,10 @@ static int ade_plane_atomic_check(struct drm_plane *plane,
static void ade_plane_atomic_update(struct drm_plane *plane,
struct drm_plane_state *old_state)
{
- struct drm_plane_state *state = plane->state;
- struct ade_plane *aplane = to_ade_plane(plane);
+ struct drm_plane_state *state = plane->state;
+ struct kirin_plane *kplane = to_kirin_plane(plane);

- ade_update_channel(aplane, state->fb, state->crtc_x, state->crtc_y,
+ ade_update_channel(kplane, state->fb, state->crtc_x, state->crtc_y,
state->crtc_w, state->crtc_h,
state->src_x >> 16, state->src_y >> 16,
state->src_w >> 16, state->src_h >> 16);
@@ -906,9 +907,9 @@ static void ade_plane_atomic_update(struct drm_plane *plane,
static void ade_plane_atomic_disable(struct drm_plane *plane,
struct drm_plane_state *old_state)
{
- struct ade_plane *aplane = to_ade_plane(plane);
+ struct kirin_plane *kplane = to_kirin_plane(plane);

- ade_disable_channel(aplane);
+ ade_disable_channel(kplane);
}

static const struct drm_plane_helper_funcs ade_plane_helper_funcs = {
@@ -926,7 +927,7 @@ static struct drm_plane_funcs ade_plane_funcs = {
.atomic_destroy_state = drm_atomic_helper_plane_destroy_state,
};

-static int ade_plane_init(struct drm_device *dev, struct ade_plane *aplane,
+static int ade_plane_init(struct drm_device *dev, struct kirin_plane *kplane,
enum drm_plane_type type)
{
const u32 *fmts;
@@ -934,18 +935,18 @@ static int ade_plane_init(struct drm_device *dev, struct ade_plane *aplane,
int ret = 0;

/* get properties */
- fmts_cnt = ade_get_channel_formats(aplane->ch, &fmts);
+ fmts_cnt = ade_get_channel_formats(kplane->ch, &fmts);
if (ret)
return ret;

- ret = drm_universal_plane_init(dev, &aplane->base, 1, &ade_plane_funcs,
+ ret = drm_universal_plane_init(dev, &kplane->base, 1, &ade_plane_funcs,
fmts, fmts_cnt, NULL, type, NULL);
if (ret) {
- DRM_ERROR("fail to init plane, ch=%d\n", aplane->ch);
+ DRM_ERROR("fail to init plane, ch=%d\n", kplane->ch);
return ret;
}

- drm_plane_helper_add(&aplane->base, &ade_plane_helper_funcs);
+ drm_plane_helper_add(&kplane->base, &ade_plane_helper_funcs);

return 0;
}
@@ -1007,7 +1008,7 @@ static int ade_drm_init(struct platform_device *pdev)
struct ade_data *ade;
struct ade_hw_ctx *ctx;
struct ade_crtc *acrtc;
- struct ade_plane *aplane;
+ struct kirin_plane *kplane;
enum drm_plane_type type;
int ret;
int i;
@@ -1033,19 +1034,19 @@ static int ade_drm_init(struct platform_device *pdev)
* need to do.
*/
for (i = 0; i < ADE_CH_NUM; i++) {
- aplane = &ade->aplane[i];
- aplane->ch = i;
- aplane->ctx = ctx;
+ kplane = &ade->planes[i];
+ kplane->ch = i;
+ kplane->hw_ctx = ctx;
type = i == PRIMARY_CH ? DRM_PLANE_TYPE_PRIMARY :
DRM_PLANE_TYPE_OVERLAY;

- ret = ade_plane_init(dev, aplane, type);
+ ret = ade_plane_init(dev, kplane, type);
if (ret)
return ret;
}

/* crtc init */
- ret = ade_crtc_init(dev, &acrtc->base, &ade->aplane[PRIMARY_CH].base);
+ ret = ade_crtc_init(dev, &acrtc->base, &ade->planes[PRIMARY_CH].base);
if (ret)
return ret;

--
2.17.1

2019-08-14 19:59:05

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [RESEND][PATCH v3 00/26] drm: Kirin driver cleanups to prep for Kirin960 support

Hi Xinliang, Rongrong, Xinwei, Chen

On Wed, Aug 14, 2019 at 06:46:36PM +0000, John Stultz wrote:
> Just wanted to resend this patch set so I didn't have to
> continue carrying it forever to keep the HiKey960 board running.
>
> This patchset contains one fix (in the front, so its easier to
> eventually backport), and a series of changes from YiPing to
> refactor the kirin drm driver so that it can be used on both
> kirin620 based devices (like the original HiKey board) as well
> as kirin960 based devices (like the HiKey960 board).
>
> The full kirin960 drm support is still being refactored, but as
> this base kirin rework was getting to be substantial, I wanted
> to send out the first chunk, so that the review burden wasn't
> overwhelming.

As Maintainers can we please get some feedback from one of you.
Just an "OK to commit" would do it.
But preferably an ack or a review on the individual patches.

If the reality is that John is the Maintainer today,
then we should update MAINTAINERS to reflect this.

Thanks!

Sam

2019-08-19 02:09:14

by xinliang

[permalink] [raw]
Subject: Re: [RESEND][PATCH v3 00/26] drm: Kirin driver cleanups to prep for Kirin960 support



On 2019/8/15 3:45, Sam Ravnborg wrote:
> Hi Xinliang, Rongrong, Xinwei, Chen
>
> On Wed, Aug 14, 2019 at 06:46:36PM +0000, John Stultz wrote:
>> Just wanted to resend this patch set so I didn't have to
>> continue carrying it forever to keep the HiKey960 board running.
>>
>> This patchset contains one fix (in the front, so its easier to
>> eventually backport), and a series of changes from YiPing to
>> refactor the kirin drm driver so that it can be used on both
>> kirin620 based devices (like the original HiKey board) as well
>> as kirin960 based devices (like the HiKey960 board).
>>
>> The full kirin960 drm support is still being refactored, but as
>> this base kirin rework was getting to be substantial, I wanted
>> to send out the first chunk, so that the review burden wasn't
>> overwhelming.
> As Maintainers can we please get some feedback from one of you.
> Just an "OK to commit" would do it.
> But preferably an ack or a review on the individual patches.

Hi sam,
So sorry for responding late.
As I have done a pre-review and talked with the author before sending
out the patches.
So, for this serial patches,
Acked-by: Xinliang Liu <[email protected]>

>
> If the reality is that John is the Maintainer today,
> then we should update MAINTAINERS to reflect this.

I am assuming you are talking about the kirin[1] drm driver not the
hibmc[2] one, right?
I really appreciate John's awesome work at kirin drm driver all the way.
Honestly, after my work change from mobile to server years ago, I am
always waiting for some guy who is stably working at kirin drm driver to
take the maintenance work.
John, surely is a such guy. Please add up a patch to update the
maintainer as John, if John agree so. Then John can push the patch set
to drm maintainer himself.
*Note* that the maintainer patch should break hisilicon drivers into
kirin and hibmc two parts, like bellow:

DRM DRIVERS FOR HISILICON HIBMC
M: Xinliang Liu <[email protected]>
...
F: drivers/gpu/drm/hisilicon/hibmc
...

DRM DRIVERS FOR HISILICON KIRIN
M: John Stultz <[email protected]>
...
F: drivers/gpu/drm/hisilicon/kirin
...

[1] drivers/gpu/drm/hisilicon/kirin # for kirin mobile display driver
[2] drivers/gpu/drm/hisilicon/hibmc # for server VGA driver


Thanks,
Xinliang


>
> Thanks!
>
> Sam
>
> .
>


2019-08-19 04:42:11

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [RESEND][PATCH v3 00/26] drm: Kirin driver cleanups to prep for Kirin960 support

Hi Xinliang

> > As Maintainers can we please get some feedback from one of you.
> > Just an "OK to commit" would do it.
> > But preferably an ack or a review on the individual patches.
>
> As I have done a pre-review and talked with the author before sending out
> the patches.
> So, for this serial patches,
> Acked-by: Xinliang Liu <[email protected]>

Thanks!
We all know how it is to be busy, especially when trying to keep up
after role changes.
Unless someone beats me, then I will apply tonight or tomorrow.

> > If the reality is that John is the Maintainer today,
> > then we should update MAINTAINERS to reflect this.
>
> I am assuming you are talking about the kirin[1] drm driver not the hibmc[2]
> one, right?
> I really appreciate John's awesome work at kirin drm driver all the way.
> Honestly, after my work change from mobile to server years ago, I am always
> waiting for some guy who is stably working at kirin drm driver to take the
> maintenance work.
> John, surely is a such guy. Please add up a patch to update the maintainer
> as John, if John agree so. Then John can push the patch set to drm
> maintainer himself.
> *Note* that the maintainer patch should break hisilicon drivers into kirin
> and hibmc two parts, like bellow:
>
> DRM DRIVERS FOR HISILICON HIBMC
> M: Xinliang Liu <[email protected]>
> ...
> F: drivers/gpu/drm/hisilicon/hibmc
> ...
>
> DRM DRIVERS FOR HISILICON KIRIN
> M: John Stultz <[email protected]>
> ...
> F: drivers/gpu/drm/hisilicon/kirin
> ...
>
> [1] drivers/gpu/drm/hisilicon/kirin # for kirin mobile display driver
> [2] drivers/gpu/drm/hisilicon/hibmc # for server VGA driver

Hi John

Up to the challenge?
If yes then please consider to apply for commit rights to drm-misc-next.

And read:
https://drm.pages.freedesktop.org/maintainer-tools/index.html

See this to get an account:
https://www.freedesktop.org/wiki/AccountRequests/

You will need an ssh account for drm-misc-next as it is not (yet?)
gitlab enabled.

Sam

2019-08-19 23:27:18

by John Stultz

[permalink] [raw]
Subject: Re: [RESEND][PATCH v3 00/26] drm: Kirin driver cleanups to prep for Kirin960 support

On Sun, Aug 18, 2019 at 9:40 PM Sam Ravnborg <[email protected]> wrote:
> > > As Maintainers can we please get some feedback from one of you.
> > > Just an "OK to commit" would do it.
> > > But preferably an ack or a review on the individual patches.
> >
> > As I have done a pre-review and talked with the author before sending out
> > the patches.
> > So, for this serial patches,
> > Acked-by: Xinliang Liu <[email protected]>
>
> Thanks!
> We all know how it is to be busy, especially when trying to keep up
> after role changes.
> Unless someone beats me, then I will apply tonight or tomorrow.
>
> > > If the reality is that John is the Maintainer today,
> > > then we should update MAINTAINERS to reflect this.
> >
> > I am assuming you are talking about the kirin[1] drm driver not the hibmc[2]
> > one, right?
> > I really appreciate John's awesome work at kirin drm driver all the way.
> > Honestly, after my work change from mobile to server years ago, I am always
> > waiting for some guy who is stably working at kirin drm driver to take the
> > maintenance work.
> > John, surely is a such guy. Please add up a patch to update the maintainer
> > as John, if John agree so. Then John can push the patch set to drm
> > maintainer himself.
> > *Note* that the maintainer patch should break hisilicon drivers into kirin
> > and hibmc two parts, like bellow:
> >
> > DRM DRIVERS FOR HISILICON HIBMC
> > M: Xinliang Liu <[email protected]>
> > ...
> > F: drivers/gpu/drm/hisilicon/hibmc
> > ...
> >
> > DRM DRIVERS FOR HISILICON KIRIN
> > M: John Stultz <[email protected]>
> > ...
> > F: drivers/gpu/drm/hisilicon/kirin
> > ...
> >
> > [1] drivers/gpu/drm/hisilicon/kirin # for kirin mobile display driver
> > [2] drivers/gpu/drm/hisilicon/hibmc # for server VGA driver
>
> Hi John
>
> Up to the challenge?

I guess if necessary, though I don't believe myself to be a great maintainer.

Though I do have the hardware, am regularly are testing on it, and
maintain a tree of patches to keep it working, so I can validate basic
correctness and handle patch wrangling.

> If yes then please consider to apply for commit rights to drm-misc-next.
>
> And read:
> https://drm.pages.freedesktop.org/maintainer-tools/index.html
>
> See this to get an account:
> https://www.freedesktop.org/wiki/AccountRequests/
>
> You will need an ssh account for drm-misc-next as it is not (yet?)
> gitlab enabled.

I'll try to find some time to read through the above and apply.

thanks
-john