mbox series

[v4,00/25] drm: Kirin driver cleanups to prep for Kirin960 support

Message ID 20190819230321.56480-1-john.stultz@linaro.org (mailing list archive)
Headers show
Series drm: Kirin driver cleanups to prep for Kirin960 support | expand

Message

John Stultz Aug. 19, 2019, 11:02 p.m. UTC
Sending this out again, to get it based on drm-misc-next.

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


New in v4:
* Rebased to drm-misc-next, minor tweaks to merge changes
* Dropped "drm: kirin: Get rid of drmP.h includes" as similar change
  was already in drm-misc next
* Added acked-by tag from Xinliang


Cc: Rongrong Zou <zourongrong@gmail.com>
Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel <dri-devel@lists.freedesktop.org>
Cc: Sam Ravnborg <sam@ravnborg.org>


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

John Stultz (3):
  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   | 351 +++++++-----------
 .../gpu/drm/hisilicon/kirin/kirin_drm_drv.c   | 250 +++++++++----
 .../gpu/drm/hisilicon/kirin/kirin_drm_drv.h   |  48 ++-
 6 files changed, 368 insertions(+), 296 deletions(-)

Comments

Sam Ravnborg Aug. 20, 2019, 8:01 p.m. UTC | #1
Hi John.

On Mon, Aug 19, 2019 at 11:02:56PM +0000, John Stultz wrote:
> Sending this out again, to get it based on drm-misc-next.
> 
> 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
> 
> 
> New in v4:
> * Rebased to drm-misc-next, minor tweaks to merge changes
> * Dropped "drm: kirin: Get rid of drmP.h includes" as similar change
>   was already in drm-misc next
> * Added acked-by tag from Xinliang

There was some checkpatch noises in some of the patches - please verify
with "--strict".
Mostly alignment of parameters with open parantesis
Sample - but there was similar issues in other patches:

8788b59decc8 (HEAD -> drm-misc-next) drm: kirin: Move ade drm init to kirin drm drv
-:208: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#208: FILE: drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c:41:
+static int kirin_drm_crtc_init(struct drm_device *dev, struct drm_crtc *crtc,
+				struct drm_plane *plane,

-:244: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#244: FILE: drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c:77:
+	ret = drm_universal_plane_init(dev, plane, 1, data->plane_funcs,
+				data->channel_formats,

-:271: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#271: FILE: drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c:104:
+static int kirin_drm_private_init(struct drm_device *dev,
+				const struct kirin_drm_data *driver_data)




And then the build failed like this:
 LD [M]  drivers/gpu/drm/hisilicon/kirin/kirin-drm.o
aarch64-linux-gnu-ld: drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.o: in function `init_module':
dw_drm_dsi.c:(.init.text+0x0): multiple definition of `init_module'; drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.o:kirin_drm_drv.c:(.init.text+0x0): first defined here
aarch64-linux-gnu-ld: drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.o: in function `cleanup_module':
dw_drm_dsi.c:(.exit.text+0x0): multiple definition of `cleanup_module'; drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.o:kirin_drm_drv.c:(.exit.text+0x0): first defined here
make[3]: *** [/home/sam/drm/linux.git/scripts/Makefile.build:464: drivers/gpu/drm/hisilicon/kirin/kirin-drm.o] Error 1
make[2]: *** [/home/sam/drm/linux.git/scripts/Makefile.build:490: drivers/gpu/drm/hisilicon/kirin] Error 2
make[1]: *** [/home/sam/drm/linux.git/Makefile:1776: drivers/gpu/drm/hisilicon/] Error 2
make[1]: Leaving directory '/home/sam/drm/linux.git/.build/arm64-allmodconfig'
make: *** [Makefile:179: sub-make] Error 2

It was a simple allmodconfig build where I did:

make drivers/gpu/drm/hisilicon/

Please fix and resend. I did not look further.

	Sam
John Stultz Aug. 20, 2019, 8:38 p.m. UTC | #2
On Tue, Aug 20, 2019 at 1:01 PM Sam Ravnborg <sam@ravnborg.org> wrote:
>
> Hi John.
>
> On Mon, Aug 19, 2019 at 11:02:56PM +0000, John Stultz wrote:
> > Sending this out again, to get it based on drm-misc-next.
> >
> > 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
> >
> >
> > New in v4:
> > * Rebased to drm-misc-next, minor tweaks to merge changes
> > * Dropped "drm: kirin: Get rid of drmP.h includes" as similar change
> >   was already in drm-misc next
> > * Added acked-by tag from Xinliang
>
> There was some checkpatch noises in some of the patches - please verify
> with "--strict".

Ah. Apologies. I had not run with --strict.

> And then the build failed like this:
>  LD [M]  drivers/gpu/drm/hisilicon/kirin/kirin-drm.o
> aarch64-linux-gnu-ld: drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.o: in function `init_module':
> dw_drm_dsi.c:(.init.text+0x0): multiple definition of `init_module'; drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.o:kirin_drm_drv.c:(.init.text+0x0): first defined here
> aarch64-linux-gnu-ld: drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.o: in function `cleanup_module':
> dw_drm_dsi.c:(.exit.text+0x0): multiple definition of `cleanup_module'; drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.o:kirin_drm_drv.c:(.exit.text+0x0): first defined here
> make[3]: *** [/home/sam/drm/linux.git/scripts/Makefile.build:464: drivers/gpu/drm/hisilicon/kirin/kirin-drm.o] Error 1
> make[2]: *** [/home/sam/drm/linux.git/scripts/Makefile.build:490: drivers/gpu/drm/hisilicon/kirin] Error 2
> make[1]: *** [/home/sam/drm/linux.git/Makefile:1776: drivers/gpu/drm/hisilicon/] Error 2
> make[1]: Leaving directory '/home/sam/drm/linux.git/.build/arm64-allmodconfig'
> make: *** [Makefile:179: sub-make] Error 2
>
> It was a simple allmodconfig build where I did:
>
> make drivers/gpu/drm/hisilicon/

Yes, I've not used modules much with the board. I'll fix this up.

> Please fix and resend. I did not look further.

Apologies again, thanks so much for finding these issues! I'll get a
new series to you shortly once the issues are resolved and I've
validated things.

thanks
-john