Hi Dave, Here's this weeks pull, relatively small when you pull out the trivial fixes.
drm-misc-next-2018-02-28: drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
Cheers, Sean
The following changes since commit 2b91e3c43b4f3d3cd4d84a31cfbe6b165d89b70e:
drm/omapdrm: Use of_find_backlight helper (2018-02-20 11:07:22 -0500)
are available in the Git repository at:
git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2018-02-28
for you to fetch changes up to 7628166d5e2883e4cdd142b99863d29d411a81b2:
tinydrm: add backlight dependency (2018-02-28 15:08:56 -0500)
---------------------------------------------------------------- drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
---------------------------------------------------------------- Arnd Bergmann (2): drm: fix drm_get_max_iomem type mismatch tinydrm: add backlight dependency
Benjamin Gaignard (1): drm/stm: check pitch and size calculations even if !CONFIG_MMU
Chris Wilson (1): drm/mm: Fix caching of leftmost node in the interval tree
Linus Walleij (1): drm/panel: Fix ARM Versatile panel clocks
Maxime Ripard (4): drm/sun4i: backend: Assign the pipes automatically drm/sun4i: Remove the plane description structure drm/sun4i: backend: Make zpos configurable drm/sun4i: backend: Remove ARGB spoofing
Oleksandr Andrushchenko (5): drm/simple_kms_helper: Fix NULL pointer dereference with no active CRTC drm/simple_kms_helper: Add {enable|disable}_vblank callback support drm/mxsfb: Do not use deprecated drm_driver.{enable|disable)_vblank drm/tve200: Do not use deprecated drm_driver.{enable|disable)_vblank drm/pl111: Do not use deprecated drm_driver.{enable|disable)_vblank
Rodrigo Siqueira (7): drm/virtio: Add tabs at the start of a line drm/virtio: Add blank line after variable declarations drm/virtio: Add */ in block comments to separate line drm/virtio: Remove return from void function drm/virtio: Replace 'unsigned' for 'unsigned int' drm/virtio: Remove multiple blank lines drm/virtio: Add spaces around operators
Thierry Reding (1): drm/pl111: Remove reverse dependency on DRM_DUMB_VGA_DAC
Ville Syrjälä (4): drm: Check that the plane supports the request format+modifier combo drm/i915: Remove the pipe/plane ID checks from skl_check_ccs_aux_surface() drm: Include the header with the prototype for drm_get_panel_orientation_quirk() drm/uapi: The ctm matrix uses sign-magnitude representation
drivers/gpu/drm/drm_atomic.c | 10 +++-- drivers/gpu/drm/drm_crtc.c | 10 +++-- drivers/gpu/drm/drm_crtc_internal.h | 4 +- drivers/gpu/drm/drm_memory.c | 2 +- drivers/gpu/drm/drm_mm.c | 9 +++-- drivers/gpu/drm/drm_panel_orientation_quirks.c | 1 + drivers/gpu/drm/drm_plane.c | 33 ++++++++++++---- drivers/gpu/drm/drm_simple_kms_helper.c | 34 ++++++++++++---- drivers/gpu/drm/i915/intel_display.c | 8 ---- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 54 +++++++++++++------------ drivers/gpu/drm/panel/panel-arm-versatile.c | 8 ++-- drivers/gpu/drm/pl111/Kconfig | 1 - drivers/gpu/drm/pl111/pl111_display.c | 15 +++++-- drivers/gpu/drm/pl111/pl111_drm.h | 2 - drivers/gpu/drm/pl111/pl111_drv.c | 5 --- drivers/gpu/drm/stm/drv.c | 2 - drivers/gpu/drm/sun4i/sun4i_backend.c | 52 ++++++++++++++++++------ drivers/gpu/drm/sun4i/sun4i_layer.c | 55 ++++++-------------------- drivers/gpu/drm/sun4i/sun4i_layer.h | 1 + drivers/gpu/drm/tinydrm/Kconfig | 2 + drivers/gpu/drm/tve200/tve200_display.c | 10 ++++- drivers/gpu/drm/tve200/tve200_drm.h | 2 - drivers/gpu/drm/tve200/tve200_drv.c | 3 -- drivers/gpu/drm/virtio/virtgpu_display.c | 7 ++-- drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +- drivers/gpu/drm/virtio/virtgpu_drv.h | 8 ++-- drivers/gpu/drm/virtio/virtgpu_fb.c | 6 ++- drivers/gpu/drm/virtio/virtgpu_gem.c | 1 + drivers/gpu/drm/virtio/virtgpu_ioctl.c | 23 ++++++----- drivers/gpu/drm/virtio/virtgpu_prime.c | 4 +- drivers/gpu/drm/virtio/virtgpu_ttm.c | 4 +- drivers/gpu/drm/virtio/virtgpu_vq.c | 13 +++--- include/drm/drm_simple_kms_helper.h | 18 +++++++++ include/uapi/drm/drm_mode.h | 7 +++- 34 files changed, 243 insertions(+), 173 deletions(-)
On Wed, Feb 28, 2018 at 3:34 PM, Sean Paul seanpaul@chromium.org wrote:
Hi Dave, Here's this weeks pull, relatively small when you pull out the trivial fixes.
drm-misc-next-2018-02-28: drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Hi Dave, Could you please hold off on pulling this? I'd like to sort out this change a bit more. We're already using the __s64 in chrome, and not explicitly sign-magnitude. I think it would be prudent to hash this out a little more.
https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_device.cc...
Sean
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
Cheers, Sean
The following changes since commit 2b91e3c43b4f3d3cd4d84a31cfbe6b165d89b70e:
drm/omapdrm: Use of_find_backlight helper (2018-02-20 11:07:22 -0500)
are available in the Git repository at:
git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2018-02-28
for you to fetch changes up to 7628166d5e2883e4cdd142b99863d29d411a81b2:
tinydrm: add backlight dependency (2018-02-28 15:08:56 -0500)
drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
Arnd Bergmann (2): drm: fix drm_get_max_iomem type mismatch tinydrm: add backlight dependency
Benjamin Gaignard (1): drm/stm: check pitch and size calculations even if !CONFIG_MMU
Chris Wilson (1): drm/mm: Fix caching of leftmost node in the interval tree
Linus Walleij (1): drm/panel: Fix ARM Versatile panel clocks
Maxime Ripard (4): drm/sun4i: backend: Assign the pipes automatically drm/sun4i: Remove the plane description structure drm/sun4i: backend: Make zpos configurable drm/sun4i: backend: Remove ARGB spoofing
Oleksandr Andrushchenko (5): drm/simple_kms_helper: Fix NULL pointer dereference with no active CRTC drm/simple_kms_helper: Add {enable|disable}_vblank callback support drm/mxsfb: Do not use deprecated drm_driver.{enable|disable)_vblank drm/tve200: Do not use deprecated drm_driver.{enable|disable)_vblank drm/pl111: Do not use deprecated drm_driver.{enable|disable)_vblank
Rodrigo Siqueira (7): drm/virtio: Add tabs at the start of a line drm/virtio: Add blank line after variable declarations drm/virtio: Add */ in block comments to separate line drm/virtio: Remove return from void function drm/virtio: Replace 'unsigned' for 'unsigned int' drm/virtio: Remove multiple blank lines drm/virtio: Add spaces around operators
Thierry Reding (1): drm/pl111: Remove reverse dependency on DRM_DUMB_VGA_DAC
Ville Syrjälä (4): drm: Check that the plane supports the request format+modifier combo drm/i915: Remove the pipe/plane ID checks from skl_check_ccs_aux_surface() drm: Include the header with the prototype for drm_get_panel_orientation_quirk() drm/uapi: The ctm matrix uses sign-magnitude representation
drivers/gpu/drm/drm_atomic.c | 10 +++-- drivers/gpu/drm/drm_crtc.c | 10 +++-- drivers/gpu/drm/drm_crtc_internal.h | 4 +- drivers/gpu/drm/drm_memory.c | 2 +- drivers/gpu/drm/drm_mm.c | 9 +++-- drivers/gpu/drm/drm_panel_orientation_quirks.c | 1 + drivers/gpu/drm/drm_plane.c | 33 ++++++++++++---- drivers/gpu/drm/drm_simple_kms_helper.c | 34 ++++++++++++---- drivers/gpu/drm/i915/intel_display.c | 8 ---- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 54 +++++++++++++------------ drivers/gpu/drm/panel/panel-arm-versatile.c | 8 ++-- drivers/gpu/drm/pl111/Kconfig | 1 - drivers/gpu/drm/pl111/pl111_display.c | 15 +++++-- drivers/gpu/drm/pl111/pl111_drm.h | 2 - drivers/gpu/drm/pl111/pl111_drv.c | 5 --- drivers/gpu/drm/stm/drv.c | 2 - drivers/gpu/drm/sun4i/sun4i_backend.c | 52 ++++++++++++++++++------ drivers/gpu/drm/sun4i/sun4i_layer.c | 55 ++++++-------------------- drivers/gpu/drm/sun4i/sun4i_layer.h | 1 + drivers/gpu/drm/tinydrm/Kconfig | 2 + drivers/gpu/drm/tve200/tve200_display.c | 10 ++++- drivers/gpu/drm/tve200/tve200_drm.h | 2 - drivers/gpu/drm/tve200/tve200_drv.c | 3 -- drivers/gpu/drm/virtio/virtgpu_display.c | 7 ++-- drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +- drivers/gpu/drm/virtio/virtgpu_drv.h | 8 ++-- drivers/gpu/drm/virtio/virtgpu_fb.c | 6 ++- drivers/gpu/drm/virtio/virtgpu_gem.c | 1 + drivers/gpu/drm/virtio/virtgpu_ioctl.c | 23 ++++++----- drivers/gpu/drm/virtio/virtgpu_prime.c | 4 +- drivers/gpu/drm/virtio/virtgpu_ttm.c | 4 +- drivers/gpu/drm/virtio/virtgpu_vq.c | 13 +++--- include/drm/drm_simple_kms_helper.h | 18 +++++++++ include/uapi/drm/drm_mode.h | 7 +++- 34 files changed, 243 insertions(+), 173 deletions(-)
-- Sean Paul, Software Engineer, Google / Chromium OS
On Fri, Mar 02, 2018 at 04:22:15PM -0500, Sean Paul wrote:
On Wed, Feb 28, 2018 at 3:34 PM, Sean Paul seanpaul@chromium.org wrote:
Hi Dave, Here's this weeks pull, relatively small when you pull out the trivial fixes.
drm-misc-next-2018-02-28: drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Hi Dave, Could you please hold off on pulling this? I'd like to sort out this change a bit more. We're already using the __s64 in chrome, and not explicitly sign-magnitude. I think it would be prudent to hash this out a little more.
https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_device.cc...
That code seems to be doing the exact same fun s.u63 math. This all looks consistent to me.
Now in hindsight ofc we've screwed up the uapi, but well can't fix that now again ... -Daniel
Sean
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
Cheers, Sean
The following changes since commit 2b91e3c43b4f3d3cd4d84a31cfbe6b165d89b70e:
drm/omapdrm: Use of_find_backlight helper (2018-02-20 11:07:22 -0500)
are available in the Git repository at:
git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2018-02-28
for you to fetch changes up to 7628166d5e2883e4cdd142b99863d29d411a81b2:
tinydrm: add backlight dependency (2018-02-28 15:08:56 -0500)
drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
Arnd Bergmann (2): drm: fix drm_get_max_iomem type mismatch tinydrm: add backlight dependency
Benjamin Gaignard (1): drm/stm: check pitch and size calculations even if !CONFIG_MMU
Chris Wilson (1): drm/mm: Fix caching of leftmost node in the interval tree
Linus Walleij (1): drm/panel: Fix ARM Versatile panel clocks
Maxime Ripard (4): drm/sun4i: backend: Assign the pipes automatically drm/sun4i: Remove the plane description structure drm/sun4i: backend: Make zpos configurable drm/sun4i: backend: Remove ARGB spoofing
Oleksandr Andrushchenko (5): drm/simple_kms_helper: Fix NULL pointer dereference with no active CRTC drm/simple_kms_helper: Add {enable|disable}_vblank callback support drm/mxsfb: Do not use deprecated drm_driver.{enable|disable)_vblank drm/tve200: Do not use deprecated drm_driver.{enable|disable)_vblank drm/pl111: Do not use deprecated drm_driver.{enable|disable)_vblank
Rodrigo Siqueira (7): drm/virtio: Add tabs at the start of a line drm/virtio: Add blank line after variable declarations drm/virtio: Add */ in block comments to separate line drm/virtio: Remove return from void function drm/virtio: Replace 'unsigned' for 'unsigned int' drm/virtio: Remove multiple blank lines drm/virtio: Add spaces around operators
Thierry Reding (1): drm/pl111: Remove reverse dependency on DRM_DUMB_VGA_DAC
Ville Syrjälä (4): drm: Check that the plane supports the request format+modifier combo drm/i915: Remove the pipe/plane ID checks from skl_check_ccs_aux_surface() drm: Include the header with the prototype for drm_get_panel_orientation_quirk() drm/uapi: The ctm matrix uses sign-magnitude representation
drivers/gpu/drm/drm_atomic.c | 10 +++-- drivers/gpu/drm/drm_crtc.c | 10 +++-- drivers/gpu/drm/drm_crtc_internal.h | 4 +- drivers/gpu/drm/drm_memory.c | 2 +- drivers/gpu/drm/drm_mm.c | 9 +++-- drivers/gpu/drm/drm_panel_orientation_quirks.c | 1 + drivers/gpu/drm/drm_plane.c | 33 ++++++++++++---- drivers/gpu/drm/drm_simple_kms_helper.c | 34 ++++++++++++---- drivers/gpu/drm/i915/intel_display.c | 8 ---- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 54 +++++++++++++------------ drivers/gpu/drm/panel/panel-arm-versatile.c | 8 ++-- drivers/gpu/drm/pl111/Kconfig | 1 - drivers/gpu/drm/pl111/pl111_display.c | 15 +++++-- drivers/gpu/drm/pl111/pl111_drm.h | 2 - drivers/gpu/drm/pl111/pl111_drv.c | 5 --- drivers/gpu/drm/stm/drv.c | 2 - drivers/gpu/drm/sun4i/sun4i_backend.c | 52 ++++++++++++++++++------ drivers/gpu/drm/sun4i/sun4i_layer.c | 55 ++++++-------------------- drivers/gpu/drm/sun4i/sun4i_layer.h | 1 + drivers/gpu/drm/tinydrm/Kconfig | 2 + drivers/gpu/drm/tve200/tve200_display.c | 10 ++++- drivers/gpu/drm/tve200/tve200_drm.h | 2 - drivers/gpu/drm/tve200/tve200_drv.c | 3 -- drivers/gpu/drm/virtio/virtgpu_display.c | 7 ++-- drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +- drivers/gpu/drm/virtio/virtgpu_drv.h | 8 ++-- drivers/gpu/drm/virtio/virtgpu_fb.c | 6 ++- drivers/gpu/drm/virtio/virtgpu_gem.c | 1 + drivers/gpu/drm/virtio/virtgpu_ioctl.c | 23 ++++++----- drivers/gpu/drm/virtio/virtgpu_prime.c | 4 +- drivers/gpu/drm/virtio/virtgpu_ttm.c | 4 +- drivers/gpu/drm/virtio/virtgpu_vq.c | 13 +++--- include/drm/drm_simple_kms_helper.h | 18 +++++++++ include/uapi/drm/drm_mode.h | 7 +++- 34 files changed, 243 insertions(+), 173 deletions(-)
-- Sean Paul, Software Engineer, Google / Chromium OS
On Mon, Mar 5, 2018 at 12:10 AM, Daniel Vetter daniel@ffwll.ch wrote:
On Fri, Mar 02, 2018 at 04:22:15PM -0500, Sean Paul wrote:
On Wed, Feb 28, 2018 at 3:34 PM, Sean Paul seanpaul@chromium.org wrote:
Hi Dave, Here's this weeks pull, relatively small when you pull out the trivial fixes.
drm-misc-next-2018-02-28: drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Hi Dave, Could you please hold off on pulling this? I'd like to sort out this change a bit more. We're already using the __s64 in chrome, and not explicitly sign-magnitude. I think it would be prudent to hash this out a little more.
https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_device.cc...
That code seems to be doing the exact same fun s.u63 math. This all looks consistent to me.
Hmm, yeah, I skimmed too quickly last week.
Now in hindsight ofc we've screwed up the uapi, but well can't fix that now again ...
Yeah, I'm not convinced we should be changing the type. It's great to clarify the documentation to let userspace know it's sign-magnitude, but changing the type in-flight with users seems wrong.
Sean
-Daniel
Sean
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
Cheers, Sean
The following changes since commit 2b91e3c43b4f3d3cd4d84a31cfbe6b165d89b70e:
drm/omapdrm: Use of_find_backlight helper (2018-02-20 11:07:22 -0500)
are available in the Git repository at:
git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2018-02-28
for you to fetch changes up to 7628166d5e2883e4cdd142b99863d29d411a81b2:
tinydrm: add backlight dependency (2018-02-28 15:08:56 -0500)
drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
Arnd Bergmann (2): drm: fix drm_get_max_iomem type mismatch tinydrm: add backlight dependency
Benjamin Gaignard (1): drm/stm: check pitch and size calculations even if !CONFIG_MMU
Chris Wilson (1): drm/mm: Fix caching of leftmost node in the interval tree
Linus Walleij (1): drm/panel: Fix ARM Versatile panel clocks
Maxime Ripard (4): drm/sun4i: backend: Assign the pipes automatically drm/sun4i: Remove the plane description structure drm/sun4i: backend: Make zpos configurable drm/sun4i: backend: Remove ARGB spoofing
Oleksandr Andrushchenko (5): drm/simple_kms_helper: Fix NULL pointer dereference with no active CRTC drm/simple_kms_helper: Add {enable|disable}_vblank callback support drm/mxsfb: Do not use deprecated drm_driver.{enable|disable)_vblank drm/tve200: Do not use deprecated drm_driver.{enable|disable)_vblank drm/pl111: Do not use deprecated drm_driver.{enable|disable)_vblank
Rodrigo Siqueira (7): drm/virtio: Add tabs at the start of a line drm/virtio: Add blank line after variable declarations drm/virtio: Add */ in block comments to separate line drm/virtio: Remove return from void function drm/virtio: Replace 'unsigned' for 'unsigned int' drm/virtio: Remove multiple blank lines drm/virtio: Add spaces around operators
Thierry Reding (1): drm/pl111: Remove reverse dependency on DRM_DUMB_VGA_DAC
Ville Syrjälä (4): drm: Check that the plane supports the request format+modifier combo drm/i915: Remove the pipe/plane ID checks from skl_check_ccs_aux_surface() drm: Include the header with the prototype for drm_get_panel_orientation_quirk() drm/uapi: The ctm matrix uses sign-magnitude representation
drivers/gpu/drm/drm_atomic.c | 10 +++-- drivers/gpu/drm/drm_crtc.c | 10 +++-- drivers/gpu/drm/drm_crtc_internal.h | 4 +- drivers/gpu/drm/drm_memory.c | 2 +- drivers/gpu/drm/drm_mm.c | 9 +++-- drivers/gpu/drm/drm_panel_orientation_quirks.c | 1 + drivers/gpu/drm/drm_plane.c | 33 ++++++++++++---- drivers/gpu/drm/drm_simple_kms_helper.c | 34 ++++++++++++---- drivers/gpu/drm/i915/intel_display.c | 8 ---- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 54 +++++++++++++------------ drivers/gpu/drm/panel/panel-arm-versatile.c | 8 ++-- drivers/gpu/drm/pl111/Kconfig | 1 - drivers/gpu/drm/pl111/pl111_display.c | 15 +++++-- drivers/gpu/drm/pl111/pl111_drm.h | 2 - drivers/gpu/drm/pl111/pl111_drv.c | 5 --- drivers/gpu/drm/stm/drv.c | 2 - drivers/gpu/drm/sun4i/sun4i_backend.c | 52 ++++++++++++++++++------ drivers/gpu/drm/sun4i/sun4i_layer.c | 55 ++++++-------------------- drivers/gpu/drm/sun4i/sun4i_layer.h | 1 + drivers/gpu/drm/tinydrm/Kconfig | 2 + drivers/gpu/drm/tve200/tve200_display.c | 10 ++++- drivers/gpu/drm/tve200/tve200_drm.h | 2 - drivers/gpu/drm/tve200/tve200_drv.c | 3 -- drivers/gpu/drm/virtio/virtgpu_display.c | 7 ++-- drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +- drivers/gpu/drm/virtio/virtgpu_drv.h | 8 ++-- drivers/gpu/drm/virtio/virtgpu_fb.c | 6 ++- drivers/gpu/drm/virtio/virtgpu_gem.c | 1 + drivers/gpu/drm/virtio/virtgpu_ioctl.c | 23 ++++++----- drivers/gpu/drm/virtio/virtgpu_prime.c | 4 +- drivers/gpu/drm/virtio/virtgpu_ttm.c | 4 +- drivers/gpu/drm/virtio/virtgpu_vq.c | 13 +++--- include/drm/drm_simple_kms_helper.h | 18 +++++++++ include/uapi/drm/drm_mode.h | 7 +++- 34 files changed, 243 insertions(+), 173 deletions(-)
-- Sean Paul, Software Engineer, Google / Chromium OS
-- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
On Tue, Mar 6, 2018 at 12:20 AM, Sean Paul seanpaul@chromium.org wrote:
On Mon, Mar 5, 2018 at 12:10 AM, Daniel Vetter daniel@ffwll.ch wrote:
On Fri, Mar 02, 2018 at 04:22:15PM -0500, Sean Paul wrote:
On Wed, Feb 28, 2018 at 3:34 PM, Sean Paul seanpaul@chromium.org wrote:
Hi Dave, Here's this weeks pull, relatively small when you pull out the trivial fixes.
drm-misc-next-2018-02-28: drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Hi Dave, Could you please hold off on pulling this? I'd like to sort out this change a bit more. We're already using the __s64 in chrome, and not explicitly sign-magnitude. I think it would be prudent to hash this out a little more.
https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_device.cc...
That code seems to be doing the exact same fun s.u63 math. This all looks consistent to me.
Hmm, yeah, I skimmed too quickly last week.
Now in hindsight ofc we've screwed up the uapi, but well can't fix that now again ...
Yeah, I'm not convinced we should be changing the type. It's great to clarify the documentation to let userspace know it's sign-magnitude, but changing the type in-flight with users seems wrong.
But everyone must do unsigned bit ops to get this right, the s64 is completely meaningless at best, and very likely will confuse someone. What do we benefit by not changing it? We know all the users and have the source, so we know that we won't hit another undefined corner of C, which is about the only real issue I can even imagine. UAPI isn't cast in stone, we simply have to make sure nothing breaks when we clarify/update/remove/whatever it. -Daniel
Sean
-Daniel
Sean
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
Cheers, Sean
The following changes since commit 2b91e3c43b4f3d3cd4d84a31cfbe6b165d89b70e:
drm/omapdrm: Use of_find_backlight helper (2018-02-20 11:07:22 -0500)
are available in the Git repository at:
git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2018-02-28
for you to fetch changes up to 7628166d5e2883e4cdd142b99863d29d411a81b2:
tinydrm: add backlight dependency (2018-02-28 15:08:56 -0500)
drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
Arnd Bergmann (2): drm: fix drm_get_max_iomem type mismatch tinydrm: add backlight dependency
Benjamin Gaignard (1): drm/stm: check pitch and size calculations even if !CONFIG_MMU
Chris Wilson (1): drm/mm: Fix caching of leftmost node in the interval tree
Linus Walleij (1): drm/panel: Fix ARM Versatile panel clocks
Maxime Ripard (4): drm/sun4i: backend: Assign the pipes automatically drm/sun4i: Remove the plane description structure drm/sun4i: backend: Make zpos configurable drm/sun4i: backend: Remove ARGB spoofing
Oleksandr Andrushchenko (5): drm/simple_kms_helper: Fix NULL pointer dereference with no active CRTC drm/simple_kms_helper: Add {enable|disable}_vblank callback support drm/mxsfb: Do not use deprecated drm_driver.{enable|disable)_vblank drm/tve200: Do not use deprecated drm_driver.{enable|disable)_vblank drm/pl111: Do not use deprecated drm_driver.{enable|disable)_vblank
Rodrigo Siqueira (7): drm/virtio: Add tabs at the start of a line drm/virtio: Add blank line after variable declarations drm/virtio: Add */ in block comments to separate line drm/virtio: Remove return from void function drm/virtio: Replace 'unsigned' for 'unsigned int' drm/virtio: Remove multiple blank lines drm/virtio: Add spaces around operators
Thierry Reding (1): drm/pl111: Remove reverse dependency on DRM_DUMB_VGA_DAC
Ville Syrjälä (4): drm: Check that the plane supports the request format+modifier combo drm/i915: Remove the pipe/plane ID checks from skl_check_ccs_aux_surface() drm: Include the header with the prototype for drm_get_panel_orientation_quirk() drm/uapi: The ctm matrix uses sign-magnitude representation
drivers/gpu/drm/drm_atomic.c | 10 +++-- drivers/gpu/drm/drm_crtc.c | 10 +++-- drivers/gpu/drm/drm_crtc_internal.h | 4 +- drivers/gpu/drm/drm_memory.c | 2 +- drivers/gpu/drm/drm_mm.c | 9 +++-- drivers/gpu/drm/drm_panel_orientation_quirks.c | 1 + drivers/gpu/drm/drm_plane.c | 33 ++++++++++++---- drivers/gpu/drm/drm_simple_kms_helper.c | 34 ++++++++++++---- drivers/gpu/drm/i915/intel_display.c | 8 ---- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 54 +++++++++++++------------ drivers/gpu/drm/panel/panel-arm-versatile.c | 8 ++-- drivers/gpu/drm/pl111/Kconfig | 1 - drivers/gpu/drm/pl111/pl111_display.c | 15 +++++-- drivers/gpu/drm/pl111/pl111_drm.h | 2 - drivers/gpu/drm/pl111/pl111_drv.c | 5 --- drivers/gpu/drm/stm/drv.c | 2 - drivers/gpu/drm/sun4i/sun4i_backend.c | 52 ++++++++++++++++++------ drivers/gpu/drm/sun4i/sun4i_layer.c | 55 ++++++-------------------- drivers/gpu/drm/sun4i/sun4i_layer.h | 1 + drivers/gpu/drm/tinydrm/Kconfig | 2 + drivers/gpu/drm/tve200/tve200_display.c | 10 ++++- drivers/gpu/drm/tve200/tve200_drm.h | 2 - drivers/gpu/drm/tve200/tve200_drv.c | 3 -- drivers/gpu/drm/virtio/virtgpu_display.c | 7 ++-- drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +- drivers/gpu/drm/virtio/virtgpu_drv.h | 8 ++-- drivers/gpu/drm/virtio/virtgpu_fb.c | 6 ++- drivers/gpu/drm/virtio/virtgpu_gem.c | 1 + drivers/gpu/drm/virtio/virtgpu_ioctl.c | 23 ++++++----- drivers/gpu/drm/virtio/virtgpu_prime.c | 4 +- drivers/gpu/drm/virtio/virtgpu_ttm.c | 4 +- drivers/gpu/drm/virtio/virtgpu_vq.c | 13 +++--- include/drm/drm_simple_kms_helper.h | 18 +++++++++ include/uapi/drm/drm_mode.h | 7 +++- 34 files changed, 243 insertions(+), 173 deletions(-)
-- Sean Paul, Software Engineer, Google / Chromium OS
-- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
On Tue, Mar 06, 2018 at 07:42:53AM +0100, Daniel Vetter wrote:
On Tue, Mar 6, 2018 at 12:20 AM, Sean Paul seanpaul@chromium.org wrote:
On Mon, Mar 5, 2018 at 12:10 AM, Daniel Vetter daniel@ffwll.ch wrote:
On Fri, Mar 02, 2018 at 04:22:15PM -0500, Sean Paul wrote:
On Wed, Feb 28, 2018 at 3:34 PM, Sean Paul seanpaul@chromium.org wrote:
Hi Dave, Here's this weeks pull, relatively small when you pull out the trivial fixes.
drm-misc-next-2018-02-28: drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Hi Dave, Could you please hold off on pulling this? I'd like to sort out this change a bit more. We're already using the __s64 in chrome, and not explicitly sign-magnitude. I think it would be prudent to hash this out a little more.
https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_device.cc...
That code seems to be doing the exact same fun s.u63 math. This all looks consistent to me.
Hmm, yeah, I skimmed too quickly last week.
Now in hindsight ofc we've screwed up the uapi, but well can't fix that now again ...
Yeah, I'm not convinced we should be changing the type. It's great to clarify the documentation to let userspace know it's sign-magnitude, but changing the type in-flight with users seems wrong.
But everyone must do unsigned bit ops to get this right, the s64 is completely meaningless at best, and very likely will confuse someone.
It's definitely a good change to clarify the usage of the field, I'm not arguing against that.
What do we benefit by not changing it?
In the kernel, nothing. However changing uapi structs out from under userspace requires userspace updates. In order for that to happen, they need to be aware of the change and coordinate its rollout kernel/libdrm/compositor. At least in CrOS, Chrome people don't follow kernel changes, so they'll discover this with a compiler warning (hopefully) and have to backtrack what happened.
Given that everybody seems to be using this struct correctly, what do we benefit from changing it? Wouldn't a comment be sufficient? Perhaps a union of __s64/__u64 would be less disruptive.
Sean
We know all the users and have the source, so we know that we won't hit another undefined corner of C, which is about the only real issue I can even imagine. UAPI isn't cast in stone, we simply have to make sure nothing breaks when we clarify/update/remove/whatever it. -Daniel
Sean
-Daniel
Sean
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
Cheers, Sean
The following changes since commit 2b91e3c43b4f3d3cd4d84a31cfbe6b165d89b70e:
drm/omapdrm: Use of_find_backlight helper (2018-02-20 11:07:22 -0500)
are available in the Git repository at:
git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2018-02-28
for you to fetch changes up to 7628166d5e2883e4cdd142b99863d29d411a81b2:
tinydrm: add backlight dependency (2018-02-28 15:08:56 -0500)
drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Core Changes: Check modifier with format when checking if a plane state is supported (Ville)
Driver Changes: sun4i: Improve hw plane utilization (Maxime) simple: Add per-pipe enable/disable vblank functions (Oleksandr) virtio: Whitespace + checkpatch changes (Rodrigo)
Cc: Maxime Ripard maxime.ripard@bootlin.com Cc: Oleksandr Andrushchenko oleksandr_andrushchenko@epam.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Rodrigo Siqueira rodrigosiqueiramelo@gmail.com
Arnd Bergmann (2): drm: fix drm_get_max_iomem type mismatch tinydrm: add backlight dependency
Benjamin Gaignard (1): drm/stm: check pitch and size calculations even if !CONFIG_MMU
Chris Wilson (1): drm/mm: Fix caching of leftmost node in the interval tree
Linus Walleij (1): drm/panel: Fix ARM Versatile panel clocks
Maxime Ripard (4): drm/sun4i: backend: Assign the pipes automatically drm/sun4i: Remove the plane description structure drm/sun4i: backend: Make zpos configurable drm/sun4i: backend: Remove ARGB spoofing
Oleksandr Andrushchenko (5): drm/simple_kms_helper: Fix NULL pointer dereference with no active CRTC drm/simple_kms_helper: Add {enable|disable}_vblank callback support drm/mxsfb: Do not use deprecated drm_driver.{enable|disable)_vblank drm/tve200: Do not use deprecated drm_driver.{enable|disable)_vblank drm/pl111: Do not use deprecated drm_driver.{enable|disable)_vblank
Rodrigo Siqueira (7): drm/virtio: Add tabs at the start of a line drm/virtio: Add blank line after variable declarations drm/virtio: Add */ in block comments to separate line drm/virtio: Remove return from void function drm/virtio: Replace 'unsigned' for 'unsigned int' drm/virtio: Remove multiple blank lines drm/virtio: Add spaces around operators
Thierry Reding (1): drm/pl111: Remove reverse dependency on DRM_DUMB_VGA_DAC
Ville Syrjälä (4): drm: Check that the plane supports the request format+modifier combo drm/i915: Remove the pipe/plane ID checks from skl_check_ccs_aux_surface() drm: Include the header with the prototype for drm_get_panel_orientation_quirk() drm/uapi: The ctm matrix uses sign-magnitude representation
drivers/gpu/drm/drm_atomic.c | 10 +++-- drivers/gpu/drm/drm_crtc.c | 10 +++-- drivers/gpu/drm/drm_crtc_internal.h | 4 +- drivers/gpu/drm/drm_memory.c | 2 +- drivers/gpu/drm/drm_mm.c | 9 +++-- drivers/gpu/drm/drm_panel_orientation_quirks.c | 1 + drivers/gpu/drm/drm_plane.c | 33 ++++++++++++---- drivers/gpu/drm/drm_simple_kms_helper.c | 34 ++++++++++++---- drivers/gpu/drm/i915/intel_display.c | 8 ---- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 54 +++++++++++++------------ drivers/gpu/drm/panel/panel-arm-versatile.c | 8 ++-- drivers/gpu/drm/pl111/Kconfig | 1 - drivers/gpu/drm/pl111/pl111_display.c | 15 +++++-- drivers/gpu/drm/pl111/pl111_drm.h | 2 - drivers/gpu/drm/pl111/pl111_drv.c | 5 --- drivers/gpu/drm/stm/drv.c | 2 - drivers/gpu/drm/sun4i/sun4i_backend.c | 52 ++++++++++++++++++------ drivers/gpu/drm/sun4i/sun4i_layer.c | 55 ++++++-------------------- drivers/gpu/drm/sun4i/sun4i_layer.h | 1 + drivers/gpu/drm/tinydrm/Kconfig | 2 + drivers/gpu/drm/tve200/tve200_display.c | 10 ++++- drivers/gpu/drm/tve200/tve200_drm.h | 2 - drivers/gpu/drm/tve200/tve200_drv.c | 3 -- drivers/gpu/drm/virtio/virtgpu_display.c | 7 ++-- drivers/gpu/drm/virtio/virtgpu_drv.c | 2 +- drivers/gpu/drm/virtio/virtgpu_drv.h | 8 ++-- drivers/gpu/drm/virtio/virtgpu_fb.c | 6 ++- drivers/gpu/drm/virtio/virtgpu_gem.c | 1 + drivers/gpu/drm/virtio/virtgpu_ioctl.c | 23 ++++++----- drivers/gpu/drm/virtio/virtgpu_prime.c | 4 +- drivers/gpu/drm/virtio/virtgpu_ttm.c | 4 +- drivers/gpu/drm/virtio/virtgpu_vq.c | 13 +++--- include/drm/drm_simple_kms_helper.h | 18 +++++++++ include/uapi/drm/drm_mode.h | 7 +++- 34 files changed, 243 insertions(+), 173 deletions(-)
-- Sean Paul, Software Engineer, Google / Chromium OS
-- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
-- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch
On Tue, Mar 06, 2018 at 02:01:21PM -0500, Sean Paul wrote:
On Tue, Mar 06, 2018 at 07:42:53AM +0100, Daniel Vetter wrote:
On Tue, Mar 6, 2018 at 12:20 AM, Sean Paul seanpaul@chromium.org wrote:
On Mon, Mar 5, 2018 at 12:10 AM, Daniel Vetter daniel@ffwll.ch wrote:
On Fri, Mar 02, 2018 at 04:22:15PM -0500, Sean Paul wrote:
On Wed, Feb 28, 2018 at 3:34 PM, Sean Paul seanpaul@chromium.org wrote:
Hi Dave, Here's this weeks pull, relatively small when you pull out the trivial fixes.
drm-misc-next-2018-02-28: drm-misc-next for 4.17:
UAPI Changes: Fix drm_color_ctm matrix docs to match usage and change the type to __u64 make it obvious (Ville)
Hi Dave, Could you please hold off on pulling this? I'd like to sort out this change a bit more. We're already using the __s64 in chrome, and not explicitly sign-magnitude. I think it would be prudent to hash this out a little more.
https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_device.cc...
That code seems to be doing the exact same fun s.u63 math. This all looks consistent to me.
Hmm, yeah, I skimmed too quickly last week.
Now in hindsight ofc we've screwed up the uapi, but well can't fix that now again ...
Yeah, I'm not convinced we should be changing the type. It's great to clarify the documentation to let userspace know it's sign-magnitude, but changing the type in-flight with users seems wrong.
But everyone must do unsigned bit ops to get this right, the s64 is completely meaningless at best, and very likely will confuse someone.
It's definitely a good change to clarify the usage of the field, I'm not arguing against that.
What do we benefit by not changing it?
In the kernel, nothing. However changing uapi structs out from under userspace requires userspace updates. In order for that to happen, they need to be aware of the change and coordinate its rollout kernel/libdrm/compositor. At least in CrOS, Chrome people don't follow kernel changes, so they'll discover this with a compiler warning (hopefully) and have to backtrack what happened.
Given that everybody seems to be using this struct correctly, what do we benefit from changing it? Wouldn't a comment be sufficient? Perhaps a union of __s64/__u64 would be less disruptive.
Umm. What exactly broke? The code behind your link even casts the final value to unsigned. So now the struct actually matches the code.
On Tue, Mar 06, 2018 at 09:07:52PM +0200, Ville Syrjälä wrote:
On Tue, Mar 06, 2018 at 02:01:21PM -0500, Sean Paul wrote:
On Tue, Mar 06, 2018 at 07:42:53AM +0100, Daniel Vetter wrote:
On Tue, Mar 6, 2018 at 12:20 AM, Sean Paul seanpaul@chromium.org wrote:
On Mon, Mar 5, 2018 at 12:10 AM, Daniel Vetter daniel@ffwll.ch wrote:
On Fri, Mar 02, 2018 at 04:22:15PM -0500, Sean Paul wrote:
On Wed, Feb 28, 2018 at 3:34 PM, Sean Paul seanpaul@chromium.org wrote: > > Hi Dave, > Here's this weeks pull, relatively small when you pull out the trivial fixes. > > drm-misc-next-2018-02-28: > drm-misc-next for 4.17: > > UAPI Changes: > Fix drm_color_ctm matrix docs to match usage and change the type to > __u64 make it obvious (Ville)
Hi Dave, Could you please hold off on pulling this? I'd like to sort out this change a bit more. We're already using the __s64 in chrome, and not explicitly sign-magnitude. I think it would be prudent to hash this out a little more.
https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_device.cc...
That code seems to be doing the exact same fun s.u63 math. This all looks consistent to me.
Hmm, yeah, I skimmed too quickly last week.
Now in hindsight ofc we've screwed up the uapi, but well can't fix that now again ...
Yeah, I'm not convinced we should be changing the type. It's great to clarify the documentation to let userspace know it's sign-magnitude, but changing the type in-flight with users seems wrong.
But everyone must do unsigned bit ops to get this right, the s64 is completely meaningless at best, and very likely will confuse someone.
It's definitely a good change to clarify the usage of the field, I'm not arguing against that.
What do we benefit by not changing it?
In the kernel, nothing. However changing uapi structs out from under userspace requires userspace updates. In order for that to happen, they need to be aware of the change and coordinate its rollout kernel/libdrm/compositor. At least in CrOS, Chrome people don't follow kernel changes, so they'll discover this with a compiler warning (hopefully) and have to backtrack what happened.
Given that everybody seems to be using this struct correctly, what do we benefit from changing it? Wouldn't a comment be sufficient? Perhaps a union of __s64/__u64 would be less disruptive.
Umm. What exactly broke? The code behind your link even casts the final value to unsigned. So now the struct actually matches the code.
We haven't pulled the change back, so nothing has changed in cros. You're right that the code already does the right thing. So perhaps I'm just tilting at windmills here, but this type of churn seemed unsettling to me.
Sean
-- Ville Syrjälä Intel OTC
On Tue, Mar 6, 2018 at 8:20 PM, Sean Paul seanpaul@chromium.org wrote:
On Tue, Mar 06, 2018 at 09:07:52PM +0200, Ville Syrjälä wrote:
On Tue, Mar 06, 2018 at 02:01:21PM -0500, Sean Paul wrote:
On Tue, Mar 06, 2018 at 07:42:53AM +0100, Daniel Vetter wrote:
On Tue, Mar 6, 2018 at 12:20 AM, Sean Paul seanpaul@chromium.org wrote:
On Mon, Mar 5, 2018 at 12:10 AM, Daniel Vetter daniel@ffwll.ch wrote:
On Fri, Mar 02, 2018 at 04:22:15PM -0500, Sean Paul wrote: > On Wed, Feb 28, 2018 at 3:34 PM, Sean Paul seanpaul@chromium.org wrote: > > > > Hi Dave, > > Here's this weeks pull, relatively small when you pull out the trivial fixes. > > > > drm-misc-next-2018-02-28: > > drm-misc-next for 4.17: > > > > UAPI Changes: > > Fix drm_color_ctm matrix docs to match usage and change the type to > > __u64 make it obvious (Ville) > > Hi Dave, > Could you please hold off on pulling this? I'd like to sort out this > change a bit more. We're already using the __s64 in chrome, and not > explicitly sign-magnitude. I think it would be prudent to hash this > out a little more. > > https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_device.cc...
That code seems to be doing the exact same fun s.u63 math. This all looks consistent to me.
Hmm, yeah, I skimmed too quickly last week.
Now in hindsight ofc we've screwed up the uapi, but well can't fix that now again ...
Yeah, I'm not convinced we should be changing the type. It's great to clarify the documentation to let userspace know it's sign-magnitude, but changing the type in-flight with users seems wrong.
But everyone must do unsigned bit ops to get this right, the s64 is completely meaningless at best, and very likely will confuse someone.
It's definitely a good change to clarify the usage of the field, I'm not arguing against that.
What do we benefit by not changing it?
In the kernel, nothing. However changing uapi structs out from under userspace requires userspace updates. In order for that to happen, they need to be aware of the change and coordinate its rollout kernel/libdrm/compositor. At least in CrOS, Chrome people don't follow kernel changes, so they'll discover this with a compiler warning (hopefully) and have to backtrack what happened.
Given that everybody seems to be using this struct correctly, what do we benefit from changing it? Wouldn't a comment be sufficient? Perhaps a union of __s64/__u64 would be less disruptive.
Umm. What exactly broke? The code behind your link even casts the final value to unsigned. So now the struct actually matches the code.
We haven't pulled the change back, so nothing has changed in cros. You're right that the code already does the right thing. So perhaps I'm just tilting at windmills here, but this type of churn seemed unsettling to me.
Yeah I'm not seeing any issue you want to prevent by rolling out this header change to userspace first. There's two cases: - Observed uapi or uabi actually changes. "Observed" here means any of the existing open source users would change behaviour in a way that could be noticed by users, testsuites. If that's the case we can't do it, a coordinated roll-out wont help. Extending a struct size isn't such a thing, assuming all our padding code works. Changing the layout is, just as an example. - Observed uapi behaviour doesn't change. If it doesn't change it also doesn't matter which version userspace is using for compilation. And there's no need at all for a coordinated roll-out.
s64 vs. u64 only affects sign extension and wrap-around behavior (it's undefined on signed ints). Because our only existing userspace does none of that (in the uapi struct itself), there's no observable behaviour difference possible, and the change is safe.
Agree with that? If so, please tell Dave to unblock this pull request.
Thanks, Daniel
dri-devel@lists.freedesktop.org