1. 06 11月, 2018 29 次提交
  2. 01 11月, 2018 6 次提交
  3. 31 10月, 2018 2 次提交
  4. 29 10月, 2018 3 次提交
    • D
      drm/panel: simple: Innolux TV123WAM is actually P120ZDG-BF1 · 8f054b6f
      Douglas Anderson 提交于
      As far as I can tell the panel that was added in commit da50bd42
      ("drm/panel: simple: Add Innolux TV123WAM panel driver support")
      wasn't actually an Innolux TV123WAM but was actually an Innolux
      P120ZDG-BF1.
      
      As far as I can tell the Innolux TV123WAM isn't a real panel and but
      it's a mosh between the TI TV123WAM and the Innolux P120ZDG-BF1.
      Let's unmosh.
      
      Here's my evidence:
      
      * Searching for TV123WAM on the Internet turns up a TI panel.  While
        it's possible that an Innolux panel has the same model number as the
        TI Panel, it seems a little doubtful.  Looking up the datasheet from
        the TI Panel shows that it's 1920 x 1280 and 259.2 mm x 172.8 mm.
      
      * As far as I know, the patch adding the Innolux Panel was supposed to
        be for the board that's sitting in front of me as I type this
        (support for that board is not yet upstream).  On the back of that
        panel I see Innolux P120ZDZ-EZ1 rev B1.
      
      * Someone pointed me at a datasheet that's supposed to be for the
        panel in front of me (sorry, I can't share the datasheet).  That
        datasheet has the string "p120zdg-bf1"
      
      * If I search for "P120ZDG-BF1" on the Internet I get hits for panels
        that are 2160x1440.  They don't have datasheets, but the fact that
        the resolution matches is a good sign.
      
      In any case, let's update the name and also the physical size to match
      the correct panel.
      
      Fixes: da50bd42 ("drm/panel: simple: Add Innolux TV123WAM panel driver support")
      Cc: Sandeep Panda <spanda@codeaurora.org>
      Reviewed-by: NAbhinav Kumar <abhinavk@codeaurora.org>
      Reviewed-by: NSean Paul <sean@poorly.run>
      Signed-off-by: NDouglas Anderson <dianders@chromium.org>
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181025222134.174583-6-dianders@chromium.org
      8f054b6f
    • D
      drm/bridge: ti-sn65dsi86: Remove the mystery delay · c2bfc223
      Douglas Anderson 提交于
      Let's solve the mystery of commit bf1178c9 ("drm/bridge:
      ti-sn65dsi86: Add mystery delay to enable()").  Specifically the
      reason we needed that mystery delay is that we weren't paying
      attention to HPD.
      
      Looking at the datasheet for the same panel that was tested for the
      original commit, I see there's a timing "t3" that times from power on
      to the aux channel being operational.  This time is specced as 0 - 200
      ms.  The datasheet says that the aux channel is operational at exactly
      the same time that HPD is asserted.
      
      Scoping the signals on this board showed that HPD was asserted 84 ms
      after power was asserted.  That very closely matches the magic 70 ms
      delay that we had.  ...and actually, in my testing the 70 ms wasn't
      quite enough of a delay and some percentage of the time the display
      didn't come up until I bumped it to 100 ms (presumably 84 ms would
      have worked too).
      
      To solve this, we tried to hook up the HPD signal in the bridge.
      ...but in doing so we found that that the bridge didn't report that
      HPD was asserted until ~280 ms after we powered it (!).  This is
      explained by looking at the sn65dsi86 datasheet section "8.4.5.1 HPD
      (Hot Plug/Unplug Detection)".  Reading there we see that the bridge
      isn't even intended to report HPD until 100 ms after it's asserted.
      ...but that would have left us at 184 ms.  The extra 100 ms
      (presumably) comes from this part in the datasheet:
      
      > The HPD state machine operates off an internal ring oscillator. The
      > ring oscillator frequency will vary [ ... ]. The min/max range in
      > the HPD State Diagram refers to the possible times based off
      > variation in the ring oscillator frequency.
      
      Given that the 280 ms we'll end up delaying if we hook up HPD is
      _slower_ than the 200 ms we could just hardcode, for now we'll solve
      the problem by just hardcoding a 200 ms delay in the panel driver
      using the patch in this series ("drm/panel: simple: Support panels
      with HPD where HPD isn't connected").
      
      If we later find a panel that needs to use this bridge where we need
      HPD then we'll have to come up with some new code to handle it.  Given
      the silly debouncing in the bridge chip, though, it seems unlikely.
      
      One last note is that I tried to solve this through another way: In
      ti_sn_bridge_enable() I tried to use various combinations of
      dp_dpcd_writeb() and dp_dpcd_readb() to detect when the aux channel
      was up.  In theory that would let me detect _exactly_ when I could
      continue and do link training.  Unfortunately even if I did an aux
      transfer w/out waiting I couldn't see any errors.  Possibly I could
      keep looping over link training until it came back with success, but
      that seemed a little overly hacky to me.
      Reviewed-by: NSean Paul <sean@poorly.run>
      Reviewed-by: NAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: NDouglas Anderson <dianders@chromium.org>
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181025222134.174583-4-dianders@chromium.org
      c2bfc223
    • D
      drm/panel: simple: Add "no-hpd" delay for Innolux TV123WAM · 625d3b5c
      Douglas Anderson 提交于
      If the HPD signal isn't hooked up to this panel we need a 200 ms
      delay.  In the datasheet this is shown as the maximum time that HPD
      will take to be asserted after power is given to the panel.
      Reviewed-by: NSean Paul <sean@poorly.run>
      Signed-off-by: NDouglas Anderson <dianders@chromium.org>
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181025222134.174583-3-dianders@chromium.org
      625d3b5c