<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <blockquote type="cite" cite="mid:87bjztbsny.fsf@intel.com">
      <pre wrap="" class="moz-quote-pre">On Mon, 30 Sep 2024, shiyongbang <a class="moz-txt-link-rfc2396E" href="mailto:shiyongbang@huawei.com"><shiyongbang@huawei.com></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">From: baihan li <a class="moz-txt-link-rfc2396E" href="mailto:libaihan@huawei.com"><libaihan@huawei.com></a>

Add dp aux read/write functions. They are basic functions
 and will be used later.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
You're supposed to use struct drm_dp_aux, add a .transfer function,
initialize it with intel_dp_aux_init(), and register with
intel_dp_aux_register(). Then you can use the standard drm_dp_dpcd_*
calls to access aux. They handle a lot of the boilerplate for DP
aux. You'll also get the i2c and aux device nodes for free. As well as a
lot of helpers based on struct drm_dp_aux interface.

There's a lot of duplication in this patch otherwise too. The DPCD
register macros, a dupe for struct drm_dp_aux_msg, etc.


BR,
Jani.</pre>
    </blockquote>
    <pre>
</pre>
    <pre>Hi Jani,
  Thanks for your advice. I didn't notice that the drm framework 
  has this implementation, and I'll use the struct drm_dp_aux and 
  drm_dp_aux_init() function in the next version to simplify my code.

  And I will check if there are others implementation in drm_dp_helper.c.
  
  Baihan Li.

</pre>
    <blockquote type="cite" cite="mid:87bjztbsny.fsf@intel.com">
      <pre wrap="" class="moz-quote-pre">
</pre>
    </blockquote>
  </body>
</html>