Hi Rob, that's a good point. We'll see if we can use DRM and existing amdgpu code for i2c/aux and rip this one out.
Cheers, Harry On 2016-02-11 03:19 PM, Rob Clark wrote: > On Thu, Feb 11, 2016 at 12:19 PM, Harry Wentland <harry.wentland at amd.com> > wrote: >> Implements low-level communication layer over I2C and Aux lines using >> GPIO handles. > so without actually looking too closely at this rather large patch (in > a rather huge patchset).. I do wonder, why not i2c_adapter? Kernel > already has an implementation of that on top of gpio's.. > > BR, > -R > >> Signed-off-by: Harry Wentland <harry.wentland at amd.com> >> Reviewed-by: Alex Deucher <alexander.deucher at amd.com> >> --- >> drivers/gpu/drm/amd/dal/dc/i2caux/Makefile | 33 + >> drivers/gpu/drm/amd/dal/dc/i2caux/aux_engine.c | 567 ++++++++++++ >> drivers/gpu/drm/amd/dal/dc/i2caux/aux_engine.h | 119 +++ >> .../amd/dal/dc/i2caux/dce110/aux_engine_dce110.c | 788 +++++++++++++++++ >> .../amd/dal/dc/i2caux/dce110/aux_engine_dce110.h | 56 ++ >> .../i2caux/dce110/i2c_generic_hw_engine_dce110.h | 25 + >> .../dal/dc/i2caux/dce110/i2c_hw_engine_dce110.c | 954 >> +++++++++++++++++++++ >> .../dal/dc/i2caux/dce110/i2c_hw_engine_dce110.h | 58 ++ >> .../dal/dc/i2caux/dce110/i2c_sw_engine_dce110.c | 172 ++++ >> .../dal/dc/i2caux/dce110/i2c_sw_engine_dce110.h | 43 + >> .../drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c | 266 ++++++ >> .../drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.h | 39 + >> .../amd/dal/dc/i2caux/diagnostics/i2caux_diag.c | 112 +++ >> .../amd/dal/dc/i2caux/diagnostics/i2caux_diag.h | 33 + >> drivers/gpu/drm/amd/dal/dc/i2caux/engine.h | 129 +++ >> drivers/gpu/drm/amd/dal/dc/i2caux/engine_base.c | 67 ++ >> drivers/gpu/drm/amd/dal/dc/i2caux/i2c_engine.c | 121 +++ >> drivers/gpu/drm/amd/dal/dc/i2caux/i2c_engine.h | 113 +++ >> .../drm/amd/dal/dc/i2caux/i2c_generic_hw_engine.c | 286 ++++++ >> .../drm/amd/dal/dc/i2caux/i2c_generic_hw_engine.h | 77 ++ >> drivers/gpu/drm/amd/dal/dc/i2caux/i2c_hw_engine.c | 246 ++++++ >> drivers/gpu/drm/amd/dal/dc/i2caux/i2c_hw_engine.h | 80 ++ >> drivers/gpu/drm/amd/dal/dc/i2caux/i2c_sw_engine.c | 614 +++++++++++++ >> drivers/gpu/drm/amd/dal/dc/i2caux/i2c_sw_engine.h | 81 ++ >> drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.c | 529 ++++++++++++ >> drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.h | 123 +++ >> 26 files changed, 5731 insertions(+) >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/Makefile >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/aux_engine.c >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/aux_engine.h >> create mode 100644 >> drivers/gpu/drm/amd/dal/dc/i2caux/dce110/aux_engine_dce110.c >> create mode 100644 >> drivers/gpu/drm/amd/dal/dc/i2caux/dce110/aux_engine_dce110.h >> create mode 100644 >> drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2c_generic_hw_engine_dce110.h >> create mode 100644 >> drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2c_hw_engine_dce110.c >> create mode 100644 >> drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2c_hw_engine_dce110.h >> create mode 100644 >> drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2c_sw_engine_dce110.c >> create mode 100644 >> drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2c_sw_engine_dce110.h >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.h >> create mode 100644 >> drivers/gpu/drm/amd/dal/dc/i2caux/diagnostics/i2caux_diag.c >> create mode 100644 >> drivers/gpu/drm/amd/dal/dc/i2caux/diagnostics/i2caux_diag.h >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/engine.h >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/engine_base.c >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/i2c_engine.c >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/i2c_engine.h >> create mode 100644 >> drivers/gpu/drm/amd/dal/dc/i2caux/i2c_generic_hw_engine.c >> create mode 100644 >> drivers/gpu/drm/amd/dal/dc/i2caux/i2c_generic_hw_engine.h >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/i2c_hw_engine.c >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/i2c_hw_engine.h >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/i2c_sw_engine.c >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/i2c_sw_engine.h >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.c >> create mode 100644 drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.h