25 Nov, 2019

1 commit


27 Mar, 2019

2 commits

  • Double check that the DTG IRQ STATUS register bit is set when handling
    the vblank and CTXLD kick interrupts to make sure we avoid spurious
    interrupts and kick the CTXLD in a bad moment.

    Signed-off-by: Laurentiu Palcu
    Reviewed-by: Robert Chiras
    (cherry picked from commit cc56e4e07f623d0b831e0f8347f2f3198697ee20)

    Laurentiu Palcu
     
  • A fixed PLL PMS setting for attached panel is obviously not
    enough for any other mipi panel which needs a different PLL
    output clock frequency, and besides, for the CEA-861 standard
    display modes, the 'pll_pms' table also can not cover all the
    modes requirements. So a general way is created to solve this
    problem which can provide an optimum solution to output a PLL
    bit clock to match the request frequency in a maximum degree
    and also satisfy the input clock and intermediate clocks limit
    according to the PLL specification.

    Signed-off-by: Fancy Fang
    (cherry picked from commit a73fdd5e48fe0df47685cfc197fe66edc1e28405)

    Fancy Fang
     

11 Mar, 2019

2 commits


05 Mar, 2019

1 commit


27 Feb, 2019

1 commit


15 Feb, 2019

2 commits


12 Feb, 2019

31 commits

  • Added function to read HDCP disable fuse.

    Signed-off-by: Oliver Brown

    Oliver Brown
     
  • This patch adds HDCP register definitions for HDMI and DP HDCP
    adaptations.

    HDMI specific HDCP2.2 register definitions are added into drm_hdcp.h,
    where as HDCP2.2 register offsets in DPCD offsets are defined at
    drm_dp_helper.h.

    v2:
    bit_field definitions are replaced by macros. [Tomas and Jani]
    v3:
    No Changes.
    v4:
    Comments style and typos are fixed [Uma]
    v5:
    Fix for macros.
    v6:
    Adds _MS to the timeouts to represent units [Sean Paul]
    v7:
    Macro DP_HDCP_2_2_REG_EKH_KM_OFFSET renamed [Uma]
    Redundant macro is removed [Uma]

    Signed-off-by: Ramalingam C
    Reviewed-by: Sean Paul
    Acked-by: Sean Paul (for merging through drm-intel)
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/1540806351-7137-6-git-send-email-ramalingam.c@intel.com

    Ramalingam C
     
  • This patch defines the hdcp2.2 protocol messages for authentication.

    v2:
    bit_fields are removed. Instead bitmasking used. [Tomas and Jani]
    prefix HDCP_2_2_ is added to the macros. [Tomas]
    v3:
    No Changes.
    v4:
    Style and spellings are fixed [Uma]
    v5:
    Fix for macros.
    v6:
    comment for Type is improved [Sean Paul]
    v7:
    %s/HDCP_2_2_LPRIME_HALF_LEN/HDCP_2_2_V_PRIME_HALF_LEN [Uma]
    %s/uintxx_t/uxx
    v8:
    %s/eceiver_id/receiver_id

    Signed-off-by: Ramalingam C
    Reviewed-by: Uma Shankar
    Acked-by: Sean Paul
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/1540806351-7137-5-git-send-email-ramalingam.c@intel.com

    Ramalingam C
     
  • In both HDMI and DP, device count is represented by 6:0 bits of a
    register(BInfo/Bstatus)

    So macro for bitmasking the device_count is fixed(0x3F->0x7F).

    v3:
    Retained the Rb-ed.
    v4:
    %s/drm\/i915/drm [rodrigo]
    v5:
    Added "Fixes:" and HDCP keyword in subject [Rodrigo, Sean Paul]

    Signed-off-by: Ramalingam C
    Fixes: 495eb7f877ab drm: Add some HDCP related #defines
    cc: Sean Paul
    Reviewed-by: Sean Paul
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/1522929802-22850-1-git-send-email-ramalingam.c@intel.com

    Ramalingam C
     
  • HDCP compliant Repeaters can support max of 127 devices and max
    depth of 7 for downstream topology.

    If these max limits are exceeded, repeater will set the
    topology error flags MAX_CASCADE_EXCEEDED and/or MAX_DEVS_EXCEEDED
    in Bstatus followed by asserting READY/CP_IRQ for HDCP transmitter.

    This patch check for these error flags as soon as READY bit is asserted.

    Signed-off-by: Ramalingam C
    [seanpaul fixed checkpatch alignment issue]
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/1516254488-4971-5-git-send-email-ramalingam.c@intel.com

    Ramalingam C
     
  • Added content_type property to drm_connector_state
    in order to properly handle external HDMI TV content-type setting.

    v2:
    * Moved helper function which attaches content type property
    to the drm core, as was suggested.
    Removed redundant connector state initialization.

    v3:
    * Removed caps in drm_content_type_enum_list.
    After some discussion it turned out that HDMI Spec 1.4
    was wrongly assuming that IT Content(itc) bit doesn't affect
    Content type states, however itc bit needs to be manupulated
    as well. In order to not expose additional property for itc,
    for sake of simplicity it was decided to bind those together
    in same "content type" property.

    v4:
    * Added it_content checking in intel_digital_connector_atomic_check.
    Fixed documentation for new content type enum.

    v5:
    * Moved patch revision's description to commit messages.

    v6:
    * Minor naming fix for the content type enumeration string.

    v7:
    * Fix parameter name for documentation and parameter alignment
    in order not to get warning. Added Content Type description to
    new HDMI connector properties section.

    v8:
    * Thrown away unneeded numbers from HDMI content-type property
    description. Switch to strings desription instead of plain
    definitions.

    v9:
    * Moved away hdmi specific content-type enum from
    drm_connector_state. Content type property should probably not
    be bound to any specific connector interface in
    drm_connector_state.
    Same probably should be done to hdmi_picture_aspect_ration enum
    which is also contained in drm_connector_state. Added special
    helper function to get derive hdmi specific relevant infoframe
    fields.

    v10:
    * Added usage description to HDMI properties kernel doc.

    v11:
    * Created centralized function for filling HDMI AVI infoframe, based
    on correspondent DRM property value.

    Acked-by: Hans Verkuil
    Acked-by: Daniel Vetter
    Signed-off-by: Stanislav Lisovskiy
    Link: https://patchwork.freedesktop.org/patch/msgid/20180515135928.31092-2-stanislav.lisovskiy@intel.com
    [vsyrjala: clean up checkpatch multiple blank lines warnings]
    Signed-off-by: Ville Syrjälä

    Stanislav Lisovskiy
     
  • In preparation for implementing HDCP in i915, add some HDCP related
    register offsets and defines. The dpcd register offsets will go in
    drm_dp_helper.h whereas the ddc offsets along with generic HDCP stuff
    will get stuffed in drm_hdcp.h, which is new.

    Changes in v2:
    - drm_hdcp.h gets MIT license (Daniel)
    Changes in v3:
    - None
    Changes in v4:
    - None
    Changes in v5:
    - None
    Changes in v6:
    - SPDX license

    Cc: Daniel Vetter
    Reviewed-by: Ramalingam C
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/20180108195545.218615-5-seanpaul@chromium.org

    Sean Paul
     
  • This patch adds a new optional connector property to allow userspace to enable
    protection over the content it is displaying. This will typically be implemented
    by the driver using HDCP.

    The property is a tri-state with the following values:
    - OFF: Self explanatory, no content protection
    - DESIRED: Userspace requests that the driver enable protection
    - ENABLED: Once the driver has authenticated the link, it sets this value

    The driver is responsible for downgrading ENABLED to DESIRED if the link becomes
    unprotected. The driver should also maintain the desiredness of protection
    across hotplug/dpms/suspend.

    If this looks familiar, I posted [1] this 3 years ago. We have been using this
    in ChromeOS across exynos, mediatek, and rockchip over that time.

    Changes in v2:
    - Pimp kerneldoc for content_protection_property (Daniel)
    - Drop sysfs attribute
    Changes in v3:
    - None
    Changes in v4:
    - Changed kerneldoc to recommend userspace polling (Daniel)
    - Changed kerneldoc to briefly describe how to attach the property (Daniel)
    Changes in v5:
    - checkpatch whitespace noise
    - Change DRM_MODE_CONTENT_PROTECTION_OFF to DRM_MODE_CONTENT_PROTECTION_UNDESIRED
    Changes in v6:
    - None

    Reviewed-by: Daniel Vetter
    Signed-off-by: Sean Paul

    [1] https://lists.freedesktop.org/archives/dri-devel/2014-December/073336.html
    Link: https://patchwork.freedesktop.org/patch/msgid/20180108195545.218615-4-seanpaul@chromium.org

    Sean Paul
     
  • Implement mode_valid and mode_fixup functions for the dcss-crtc
    driver so that DCSS can filter-out unsupported modes and save the
    configuration for the supported ones.
    Use mode_fixup to apply the saved configuration of a supported mode.
    The mechanism to determine if a mode is supported or not is made in
    dcss-dtg.

    Also, add 2 new clocks:
    - pll: this is the video PLL that provides the pixel clock; it's rate
    needs to be set such that the pixel clock can be achieved
    - pll_src*: this is an oscillator that can be used as source clock for
    the video pll; currently, there are possible maximum 3 pll sources,
    defined as pll_src1, pll_src2 and pll_src3. The actual clocks that
    can be used as pll source are: CLK_25M, CLK_27M and CLK_PHY_27MHZ

    Removed the pdiv_clk and pout_clk and replaced them with pix_clk,
    since out of those two only one was used: pdiv_clk, representing the pixel
    clock.

    In dcss-dtg, each mode is tested and if we can achieve it's pixel
    clock we save this mode configuration into an internal list and apply this
    configuration later on when mode_fixup is called.

    Signed-off-by: Robert Chiras
    Reviewed-by: Laurentiu Palcu

    Robert Chiras
     
  • The PL111 needs to filter valid modes based on memory bandwidth.
    I guess it is a pretty simple operation, so we can still claim
    the DRM KMS helper pipeline is simple after adding this (optional)
    vtable callback.

    Reviewed-by: Eric Anholt
    Reviewed-by: Daniel Vetter
    Signed-off-by: Linus Walleij
    Link: https://patchwork.freedesktop.org/patch/msgid/20180220072859.3386-1-linus.walleij@linaro.org

    Linus Walleij
     
  • This patch removes the exported function nwl_dsi_get_bit_clock that was
    used by nwl_dsi-imx driver in order to configure the phy driver speed
    and move this configuration directly into the nwl-dsi driver.
    This function is now used directly by nwl-dsi to verify which mode can or
    cannot be supported by the DSI PHY.
    Also, in nwl-dsi, add support for mode_valid and add each supported mode
    into a list kept internally so that it can apply the needed
    configuration (phyref rate, dsi lanes, bit-clock) later when the mode is
    used.

    Signed-off-by: Robert Chiras
    Reviewed-by: Laurentiu Palcu

    Robert Chiras
     
  • Update SCFW APIs to SCFW commit:
    5c03342369e8 ("SCF-105: Change links in wiki index.")

    Signed-off-by: Anson Huang
    Reviewed-by: Bai Ping

    Anson Huang
     
  • For the sim_hsio clock, it is used by the HSIO mix.
    previously, we keep this clock gate always-on, and
    don't expose it into linux. In order to save power,
    we need to runtime enable/disable this clock.

    Signed-off-by: Jacky Bai

    Jacky Bai
     
  • Android has RGBA format output but V4L2 framework do not have this format
    .In order to support this in our mem2mem driver, we need to extend V4L2
    format.

    Signed-off-by: Guoniu.Zhou

    Guoniu.Zhou
     
  • Add new partition reset interrupt group to know M4 reset and restore
    back at rpmsg level later.

    Signed-off-by: Robin Gong
    Acked-by: Richard Zhu

    Robin Gong
     
  • This patch adds two helpers to get and clear FrameGen secondary channel
    status respectively. Via the two helpers, users may know if there is
    empty FIFO read request on this channel or not after getting the status.
    And, if yes, users may choose to clear the status. According to the IP
    spec, the empty FIFO read request indicates that data stream from a Fetch
    unit(e.g., AXI bandwidth not sufficient) fell down. Assuming the display
    driver sets things up properly, the falling down is very likely caused by
    the insufficient AXI bandwidth, that is, display underrun.

    Signed-off-by: Liu Ying

    Liu Ying
     
  • Add brcmfmac platform device pinctrl state support. That is useful
    for dynamically configurate pin group for different wlan chips.

    Reviewed-by: Richard Zhu
    Signed-off-by: Fugang Duan

    Andy Duan
     
  • There are some problems in the 8QXP MIPI SS clock tree relating with LPCG:

    1. i2c0 and i2c1 uses wrong registers and bits. i2c0 lpcg acutally is at
    offset 0x10 and i2c1 is at 0x14, ipg_clk and ipg_clk_s at bit 16 and
    i2c_clk is bit 0.
    2. pwm uses wrong bit for 32k_clk, should be bit 4.
    3. gpio uses wrong bit for ipg_clk, should be bit 16.

    Also since the ipg_clk and ipg_clk_s share same LPCG offset and bits, we only
    need to register one clock. So remove ipg_clk_s from clock tree.

    Signed-off-by: Ye Li
    Reviewed-by: Ranjani Vaidyanathan

    Ye Li
     
  • Add helper functions backlight_enable and backlight_disable to
    enable/disable a backlight device. These helper functions can
    then be used by different drm and tinydrm drivers to avoid
    repetition of code and also to enforce a uniform and consistent
    way to enable/disable a backlight device.

    Acked-by: Daniel Thompson
    Reviewed-by: Noralf Trønnes
    Reviewed-by: Sean Paul
    Signed-off-by: Meghana Madhyastha
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/39b5bf0a02008a8072d910bdf8231c431e9ef504.1516810725.git.meghana.madhyastha@gmail.com

    Meghana Madhyastha
     
  • Change the licence to GPL.

    Signed-off-by: Yong Gan

    Yong Gan
     
  • Add smbus_xfer interface in xen-i2cback/front driver.

    Reviewed-by: Peng Fan
    Signed-off-by: Flynn xu

    Flynn xu
     
  • The layerblend units don't contain the CONTROLWORD, CURPIXELCNT,
    LASTPIXELCNT and PERFCOUNTER registers, so let's remove them
    and their wrappers(no one is calling them), which were introduced
    accidentally.

    Signed-off-by: Liu Ying

    Liu Ying
     
  • Add drm_mode_config_helper_suspend/resume() which takes care of
    atomic modeset suspend/resume for simple use cases.
    The suspend state is stored in struct drm_mode_config.

    Signed-off-by: Noralf Trønnes
    Reviewed-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20171106191812.38927-3-noralf@tronnes.org

    Noralf Trønnes
     
  • drm_fb_helper is *the* way of doing fbdev emulation so add a pointer to
    struct drm_device. This makes it possible to add callback helpers for
    .last_close and .output_poll_changed further reducing fbdev emulation
    footprint in drivers. The pointer is set by drm_fb_helper_init() and
    cleared by drm_fb_helper_fini().

    Signed-off-by: Noralf Trønnes
    Reviewed-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20171030153951.56269-3-noralf@tronnes.org

    Noralf Trønnes
     
  • Update SCFW API to the following commit:
    "
    ("430d1e3646fbe75e339e18abf2330565eac906e0")
    Author: Chuck Cannon
    Date: Fri Nov 2 15:25:45 2018 -0500

    SCF-105: RN updates.
    "

    Signed-off-by: Ranjani Vaidyanathan

    Ranjani Vaidyanathan
     
  • Update SCFW API to the following commit:
    "
    ("430d1e3646fbe75e339e18abf2330565eac906e0")
    Author: Chuck Cannon
    Date: Fri Nov 2 15:25:45 2018 -0500

    SCF-105: RN updates.
    "

    Signed-off-by: Ranjani Vaidyanathan

    Ranjani Vaidyanathan
     
  • Since the DP pullup can be finished at glue layer, we can delete
    it at common code, but we still need to keep DP pulldown operation
    since the DP may have already pulled up before.

    Reviewed-by: Jun Li
    Signed-off-by: Peter Chen

    Peter Chen
     
  • The flexcan driver allocates canfd-skb no matter whether use CAN FD
    mode or not, it's unreasonable due to it will affect the parse of the
    remote request frame.

    To fix the issue, allocating can-skb with "alloc_can_skb()" in normal
    mode and canfd-skb with "alloc_canfd_skb()" in fd mode.

    Reviewed-by: Dong Aisheng
    Signed-off-by: Joakim Zhang

    Joakim Zhang
     
  • Some platforms may want to use USB PHY charger detection function
    when VBUS is there, add one flag for it. The user can enable it
    at firmware.

    Reviewed-by: Jun Li
    Signed-off-by: Peter Chen

    Peter Chen
     
  • The field support_vsel is currently only used in the device tree
    case. Get rid of it. No change in behavior.

    Signed-off-by: Stefan Agner
    Signed-off-by: Ulf Hansson
    (cherry picked from commit 86f495c57f7146bc5d363d27483957928bb9d1d8)

    Stefan Agner
     
  • This is based on Xtensa Audio framework
    userspace implemention API.

    Reviewed-by: Cosmin-Gabriel Samoila
    Signed-off-by: Shengjiu Wang

    Daniel Baluta