1. 14 Oct, 2021 2 commits
    • Hans de Goede's avatar
      drm: Add privacy-screen class (v4) · a1a98689
      Hans de Goede authored
      On some new laptops the LCD panel has a builtin electronic privacy-screen.
      We want to export this functionality as a property on the drm connector
      object. But often this functionality is not exposed on the GPU but on some
      other (ACPI) device.
      
      This commit adds a privacy-screen class allowing the driver for these
      other devices to register themselves as a privacy-screen provider; and
      allowing the drm/kms code to get a privacy-screen provider associated
      with a specific GPU/connector combo.
      
      Changes in v2:
      - Make CONFIG_DRM_PRIVACY_SCREEN a bool which controls if the drm_privacy
        code gets built as part of the main drm module rather then making it
        a tristate which builds its own module.
      - Add a #if IS_ENABLED(CONFIG_DRM_PRIVACY_SCREEN) check to
        drm_privacy_screen_consumer.h and define stubs when the check fails.
        Together these 2 changes fix several dependency issues.
      - Remove module related code now that this is part of the main drm.ko
      - Use drm_class as class for the privacy-screen devices instead of
        adding a separate class for this
      
      Changes in v3:
      - Make the static inline drm_privacy_screen_get_state() stub set sw_state
        and hw_state to PRIVACY_SCREEN_DISABLED to squelch an uninitialized
        variable warning when CONFIG_DRM_PRIVICAY_SCREEN is not set
      
      Changes in v4:
      - Make drm_privacy_screen_set_sw_state() skip calling out to the hw if
        hw_state == new_sw_state
      Reviewed-by: default avatarEmil Velikov <emil.l.velikov@gmail.com>
      Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211005202322.700909-3-hdegoede@redhat.com
      a1a98689
    • Rajat Jain's avatar
      drm/connector: Add support for privacy-screen properties (v4) · 107fe904
      Rajat Jain authored
      Add support for generic electronic privacy screen properties, that
      can be added by systems that have an integrated EPS.
      
      Changes in v2 (Hans de Goede)
      - Create 2 properties, "privacy-screen sw-state" and
        "privacy-screen hw-state", to deal with devices where the OS might be
        locked out of making state changes
      - Write kerneldoc explaining how the 2 properties work together, what
        happens when changes to the state are made outside of the DRM code's
        control, etc.
      
      Changes in v3 (Hans de Goede)
      - Some small tweaks to the kerneldoc describing the 2 properties
      
      Changes in v4 (Hans de Goede)
      - Change the "Enabled, locked" and "Disabled, locked" hw-state enum value
        names to "Enabled-locked" and "Disabled-locked". The xrandr command shows
        all possible enum values separated by commas in its output, so having a
        comma in an enum name is not a good idea.
      - Do not add a privacy_screen_hw_state member to drm_connector_state
        since this property is immutable its value must be directly stored in the
        obj->properties->values array
      Signed-off-by: default avatarRajat Jain <rajatja@google.com>
      Acked-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
      Reviewed-by: default avatarMario Limonciello <Mario.limonciello@dell.com>
      Reviewed-by: default avatarEmil Velikov <emil.l.velikov@gmail.com>
      Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
      Co-developed-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211005202322.700909-2-hdegoede@redhat.com
      107fe904
  2. 13 Oct, 2021 3 commits
  3. 12 Oct, 2021 6 commits
  4. 11 Oct, 2021 10 commits
  5. 10 Oct, 2021 5 commits
  6. 09 Oct, 2021 9 commits
  7. 08 Oct, 2021 2 commits
  8. 07 Oct, 2021 3 commits