Re: [PATCH 1/2] drm/bridge: add Silicon Image SiI9234 driver

2017-08-12 Thread kbuild test robot
Hi Maciej,

[auto build test ERROR on drm/drm-next]
[also build test ERROR on v4.13-rc4 next-20170811]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Maciej-Purski/add-Silicon-Image-SiI9234-driver/20170803-200255
base:   git://people.freedesktop.org/~airlied/linux.git drm-next
config: i386-randconfig-h0-08130402 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/gpu//drm/bridge/sii9234.c: In function 'sii9234_mode_valid':
   drivers/gpu//drm/bridge/sii9234.c:909:18: warning: unused variable 'ctx' 
[-Wunused-variable]
 struct sii9234 *ctx = bridge_to_sii9234(bridge);
 ^~~
   drivers/gpu//drm/bridge/sii9234.c: In function 'sii9234_mhl_tx_i2c_probe':
>> drivers/gpu//drm/bridge/sii9234.c:971:13: error: 'struct drm_bridge' has no 
>> member named 'of_node'
 ctx->bridge.of_node = dev->of_node;
^
   In file included from include/uapi/linux/stddef.h:1:0,
from include/linux/stddef.h:4,
from include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from include/drm/bridge/mhl.h:18,
from drivers/gpu//drm/bridge/sii9234.c:26:
   drivers/gpu//drm/bridge/sii9234.c: At top level:
   include/linux/compiler.h:162:4: warning: '__f' is static but declared in 
inline function 'strcpy' which is not static
   __f = { \
   ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
  ^~
   include/linux/string.h:390:2: note: in expansion of macro 'if'
 if (p_size == (size_t)-1 && q_size == (size_t)-1)
 ^~
   include/linux/compiler.h:162:4: warning: '__f' is static but declared in 
inline function 'kmemdup' which is not static
   __f = { \
   ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
  ^~
   include/linux/string.h:380:2: note: in expansion of macro 'if'
 if (p_size < size)
 ^~
   include/linux/compiler.h:162:4: warning: '__f' is static but declared in 
inline function 'kmemdup' which is not static
   __f = { \
   ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
  ^~
   include/linux/string.h:378:2: note: in expansion of macro 'if'
 if (__builtin_constant_p(size) && p_size < size)
 ^~
   include/linux/compiler.h:162:4: warning: '__f' is static but declared in 
inline function 'memchr_inv' which is not static
   __f = { \
   ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
  ^~
   include/linux/string.h:369:2: note: in expansion of macro 'if'
 if (p_size < size)
 ^~
   include/linux/compiler.h:162:4: warning: '__f' is static but declared in 
inline function 'memchr_inv' which is not static
   __f = { \
   ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
  ^~
   include/linux/string.h:367:2: note: in expansion of macro 'if'
 if (__builtin_constant_p(size) && p_size < size)
 ^~
   include/linux/compiler.h:162:4: warning: '__f' is static but declared in 
inline function 'memchr' which is not static
   __f = { \
   ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
  ^~
   include/linux/string.h:358:2: note: in expansion of macro 'if'
 if (p_size < size)
 ^~
   include/linux/compiler.h:162:4: warning: '__f' is static but declared in 
inline function 'memchr' which is not static
   __f = { \
   ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
  ^~
   include/linux/string.h:356:2: note: in expansion of macro 'if'
 if (__builtin_constant_p(size) && p_size < size)
 ^~
   include/linux/compiler.h:162:4: warning: '__f' is static but declared in 
inline function 'memcmp' which is not static
   __f = { \
   ^
   include/linux/compiler.h:154:23: note: in expansion of macro '__trace_if'
#define if(cond, ...

Re: [PATCH 1/2] drm/bridge: add Silicon Image SiI9234 driver

2017-08-11 Thread Laurent Pinchart
Hi Marek,

(now CC'ing Mark Brown with his correct e-mail address)

On Friday 11 Aug 2017 09:00:00 Marek Szyprowski wrote:
> On 2017-08-10 16:51, Laurent Pinchart wrote:
> > On Friday 04 Aug 2017 08:55:55 Marek Szyprowski wrote:
> >> Hi Laurent,
> >> 
> >> Thanks for your detailed comments. Maciej resurrected some orphaned code,
> >> which is still useful today (Tomasz has left Samsung a few years ago).
> >> I'm not sure we will be able to answer all your questions without deep
> >> investigation, especially about the driver operation details, but we
> >> will try.
> > 
> > Thank you.
> > 
> >> On 2017-08-03 12:24, Laurent Pinchart wrote:
> >>> On Thursday 03 Aug 2017 09:45:22 Maciej Purski wrote:
>  SiI9234 transmitter converts eTMDS/HDMI signal to MHL 1.0.
>  It is controlled via I2C bus. Its interaction with other
>  devices in video pipeline is performed mainly on HW level.
>  The only interaction it does on device driver level is
>  filtering-out unsupported video modes, it exposes drm_bridge
>  interface to perform this operation.
>  
>  This patch is based on the code refactored by Tomasz Stanislawski
>  , which was initially developed by:
>  Adam Hampson 
>  Erik Gilling 
>  Shankar Bandal 
>  Dharam Kumar 
>  
>  Signed-off-by: Maciej Purski 
>  ---
>  
> .../devicetree/bindings/display/bridge/sii9234.txt |   20 +
> drivers/gpu/drm/bridge/Kconfig |8 +
> drivers/gpu/drm/bridge/Makefile|1 +
> drivers/gpu/drm/bridge/sii9234.c   | 1019 ++
> 4 files changed, 1048 insertions(+)
> create mode 100644
>  
>  Documentation/devicetree/bindings/display/bridge/sii9234.txt create
>  mode
>  100644 drivers/gpu/drm/bridge/sii9234.c
>  
>  diff --git
>  a/Documentation/devicetree/bindings/display/bridge/sii9234.txt
>  b/Documentation/devicetree/bindings/display/bridge/sii9234.txt new file
>  mode 100644
>  index 000..2cdf286
>  --- /dev/null
>  +++ b/Documentation/devicetree/bindings/display/bridge/sii9234.txt
> >>> 
> >>> DT reviewers might ask you to submit DT bindings as a separate patch.
> >>> 
>  @@ -0,0 +1,20 @@
>  +SiI9234 Mobile HD Link Transmitter
>  +
>  +Required properties:
>  +- compatible : "sil,sii9234".
>  +- reg : I2C address for TPI interface, use 0x39
>  +- vcc-supply : regulator that supplies the chip
> >>> 
> >>> Is there a single power supply only ? Transceivers usually have at least
> >>> one digital and one analog power supply.
> >> 
> >> Acording to the schematic there are four power supplies used for SII9234
> >> MHL chip in Trats2 board: VSIL_1.2A, VSIL_1.2C, VCC_3.3V_MHL and
> >> VCC_1.8V_MHL. First two are derived directly from VSIL_1.2 signal, which
> >> is modeled as a fixed regulator. The latter two are derived directly from
> >> VBAT using some level converter, which is controlled by the same GPIO pin
> >> as VSIL fixed regulator. Any idea how this should be represented better
> >> in device tree instead of having single vcc-supply?
> > 
> > Without access to the documentation I can only guess, but it looks like
> > VSIL_1.2A and VSIL_1.2C are supposed to be powered from the same power
> > supply rail, possibly with different filters. I think they can be grouped
> > together from a DT binding point of view. The last two supplies seem
> > independent. We should thus probably model this as three separate
> > supplies.
> 
> Okay, I see no problem adding support for all those three supplies, but
> I was wondering how to model them in the device tree, because from the
> software perspective ALL power supplies needed by this chip are enabled by a
> single GPIO line switch.
> 
> I see 3 possible solutions:
> 1. Keep only single vcc supply for now and use fixed gpio regulator for it
> as a provider. Add a comment that it fact it provides 3 different power
> signals.
> 2. Extend fixed gpio regulator driver and bindings so it will be possible to
> have more than one fixed regulator controlled by the same gpio pin.
> 3. Model VCC_3.3V_MHL and VCC_1.8V_MHL providers as "vctrl-regulator" and
> use this VSIL_1.2 as control voltage for them.
> 
> Which one do you prefer?

2 would be best I think, but that's more work. Mark, what do you think ?

> > It would be useful to check in the SII9234 datasheet what power sequence
> > the chip expects. Is there any chance you could find that document ?
> 
> We have access only to the parts of the SII9234 documentation now and
> there is no
> such information there.
> 
>  +- interrupts, interrupt-parent: interrupt specifier of INT pin
>  +- reset-gpios: gpio specifier of RESET pin
> >>> 
> >>> Is this mandatory to connect the reset pin to the SoC ?
> >> 
> >> IMHO yes, the chip has to be reset during the initialization procedure
> >> and doesn't work properly without reset.
> > 
> > OK, 

Re: [PATCH 1/2] drm/bridge: add Silicon Image SiI9234 driver

2017-08-11 Thread Laurent Pinchart
Hi Marek,

(CC'ing Mark Brown)

On Friday 11 Aug 2017 09:00:00 Marek Szyprowski wrote:
> On 2017-08-10 16:51, Laurent Pinchart wrote:
> > On Friday 04 Aug 2017 08:55:55 Marek Szyprowski wrote:
> >> Hi Laurent,
> >> 
> >> Thanks for your detailed comments. Maciej resurrected some orphaned code,
> >> which is still useful today (Tomasz has left Samsung a few years ago).
> >> I'm not sure we will be able to answer all your questions without deep
> >> investigation, especially about the driver operation details, but we
> >> will try.
> > 
> > Thank you.
> > 
> >> On 2017-08-03 12:24, Laurent Pinchart wrote:
> >>> On Thursday 03 Aug 2017 09:45:22 Maciej Purski wrote:
>  SiI9234 transmitter converts eTMDS/HDMI signal to MHL 1.0.
>  It is controlled via I2C bus. Its interaction with other
>  devices in video pipeline is performed mainly on HW level.
>  The only interaction it does on device driver level is
>  filtering-out unsupported video modes, it exposes drm_bridge
>  interface to perform this operation.
>  
>  This patch is based on the code refactored by Tomasz Stanislawski
>  , which was initially developed by:
>  Adam Hampson 
>  Erik Gilling 
>  Shankar Bandal 
>  Dharam Kumar 
>  
>  Signed-off-by: Maciej Purski 
>  ---
>  
> .../devicetree/bindings/display/bridge/sii9234.txt |   20 +
> drivers/gpu/drm/bridge/Kconfig |8 +
> drivers/gpu/drm/bridge/Makefile|1 +
> drivers/gpu/drm/bridge/sii9234.c   | 1019 ++
> 4 files changed, 1048 insertions(+)
> create mode 100644
>  
>  Documentation/devicetree/bindings/display/bridge/sii9234.txt create
>  mode
>  100644 drivers/gpu/drm/bridge/sii9234.c
>  
>  diff --git
>  a/Documentation/devicetree/bindings/display/bridge/sii9234.txt
>  b/Documentation/devicetree/bindings/display/bridge/sii9234.txt new file
>  mode 100644
>  index 000..2cdf286
>  --- /dev/null
>  +++ b/Documentation/devicetree/bindings/display/bridge/sii9234.txt
> >>> 
> >>> DT reviewers might ask you to submit DT bindings as a separate patch.
> >>> 
>  @@ -0,0 +1,20 @@
>  +SiI9234 Mobile HD Link Transmitter
>  +
>  +Required properties:
>  +- compatible : "sil,sii9234".
>  +- reg : I2C address for TPI interface, use 0x39
>  +- vcc-supply : regulator that supplies the chip
> >>> 
> >>> Is there a single power supply only ? Transceivers usually have at least
> >>> one digital and one analog power supply.
> >> 
> >> Acording to the schematic there are four power supplies used for SII9234
> >> MHL chip in Trats2 board: VSIL_1.2A, VSIL_1.2C, VCC_3.3V_MHL and
> >> VCC_1.8V_MHL. First two are derived directly from VSIL_1.2 signal, which
> >> is modeled as a fixed regulator. The latter two are derived directly from
> >> VBAT using some level converter, which is controlled by the same GPIO pin
> >> as VSIL fixed regulator. Any idea how this should be represented better
> >> in device tree instead of having single vcc-supply?
> > 
> > Without access to the documentation I can only guess, but it looks like
> > VSIL_1.2A and VSIL_1.2C are supposed to be powered from the same power
> > supply rail, possibly with different filters. I think they can be grouped
> > together from a DT binding point of view. The last two supplies seem
> > independent. We should thus probably model this as three separate
> > supplies.
> 
> Okay, I see no problem adding support for all those three supplies, but
> I was wondering how to model them in the device tree, because from the
> software perspective ALL power supplies needed by this chip are enabled by a
> single GPIO line switch.
> 
> I see 3 possible solutions:
> 1. Keep only single vcc supply for now and use fixed gpio regulator for it
> as a provider. Add a comment that it fact it provides 3 different power
> signals.
> 2. Extend fixed gpio regulator driver and bindings so it will be possible to
> have more than one fixed regulator controlled by the same gpio pin.
> 3. Model VCC_3.3V_MHL and VCC_1.8V_MHL providers as "vctrl-regulator" and
> use this VSIL_1.2 as control voltage for them.
> 
> Which one do you prefer?

2 would be best I think, but that's more work. Mark, what do you think ?

> > It would be useful to check in the SII9234 datasheet what power sequence
> > the chip expects. Is there any chance you could find that document ?
> 
> We have access only to the parts of the SII9234 documentation now and
> there is no
> such information there.
> 
>  +- interrupts, interrupt-parent: interrupt specifier of INT pin
>  +- reset-gpios: gpio specifier of RESET pin
> >>> 
> >>> Is this mandatory to connect the reset pin to the SoC ?
> >> 
> >> IMHO yes, the chip has to be reset during the initialization procedure
> >> and doesn't work properly without reset.
> > 
> > OK, I have no issue making the property 

Re: [PATCH 1/2] drm/bridge: add Silicon Image SiI9234 driver

2017-08-11 Thread Marek Szyprowski

Hi Laurent,

On 2017-08-10 16:51, Laurent Pinchart wrote:

Hi Marek,

On Friday 04 Aug 2017 08:55:55 Marek Szyprowski wrote:

Hi Laurent,

Thanks for your detailed comments. Maciej resurrected some orphaned code,
which is still useful today (Tomasz has left Samsung a few years ago).
I'm not sure we will be able to answer all your questions without deep
investigation, especially about the driver operation details, but we
will try.

Thank you.


On 2017-08-03 12:24, Laurent Pinchart wrote:

On Thursday 03 Aug 2017 09:45:22 Maciej Purski wrote:

SiI9234 transmitter converts eTMDS/HDMI signal to MHL 1.0.
It is controlled via I2C bus. Its interaction with other
devices in video pipeline is performed mainly on HW level.
The only interaction it does on device driver level is
filtering-out unsupported video modes, it exposes drm_bridge
interface to perform this operation.

This patch is based on the code refactored by Tomasz Stanislawski
, which was initially developed by:
Adam Hampson 
Erik Gilling 
Shankar Bandal 
Dharam Kumar 

Signed-off-by: Maciej Purski 
---

   .../devicetree/bindings/display/bridge/sii9234.txt |   20 +
   drivers/gpu/drm/bridge/Kconfig |8 +
   drivers/gpu/drm/bridge/Makefile|1 +
   drivers/gpu/drm/bridge/sii9234.c   | 1019 +
   4 files changed, 1048 insertions(+)
   create mode 100644

Documentation/devicetree/bindings/display/bridge/sii9234.txt create mode
100644 drivers/gpu/drm/bridge/sii9234.c

diff --git a/Documentation/devicetree/bindings/display/bridge/sii9234.txt
b/Documentation/devicetree/bindings/display/bridge/sii9234.txt new file
mode 100644
index 000..2cdf286
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/sii9234.txt

DT reviewers might ask you to submit DT bindings as a separate patch.


@@ -0,0 +1,20 @@
+SiI9234 Mobile HD Link Transmitter
+
+Required properties:
+- compatible : "sil,sii9234".
+- reg : I2C address for TPI interface, use 0x39
+- vcc-supply : regulator that supplies the chip

Is there a single power supply only ? Transceivers usually have at least
one digital and one analog power supply.

Acording to the schematic there are four power supplies used for SII9234
MHL chip in Trats2 board: VSIL_1.2A, VSIL_1.2C, VCC_3.3V_MHL and
VCC_1.8V_MHL. First two are derived directly from VSIL_1.2 signal, which is
modeled as a fixed regulator. The latter two are derived directly from VBAT
using some level converter, which is controlled by the same GPIO pin as VSIL
fixed regulator. Any idea how this should be represented better in device
tree instead of having single vcc-supply?

Without access to the documentation I can only guess, but it looks like
VSIL_1.2A and VSIL_1.2C are supposed to be powered from the same power supply
rail, possibly with different filters. I think they can be grouped together
from a DT binding point of view. The last two supplies seem independent. We
should thus probably model this as three separate supplies.


Okay, I see no problem adding support for all those three supplies, but 
I was

wondering how to model them in the device tree, because from the software
perspective ALL power supplies needed by this chip are enabled by a single
GPIO line switch.

I see 3 possible solutions:
1. Keep only single vcc supply for now and use fixed gpio regulator for it
as a provider. Add a comment that it fact it provides 3 different power 
signals.

2. Extend fixed gpio regulator driver and bindings so it will be possible to
have more than one fixed regulator controlled by the same gpio pin.
3. Model VCC_3.3V_MHL and VCC_1.8V_MHL providers as "vctrl-regulator" and
use this VSIL_1.2 as control voltage for them.

Which one do you prefer?


It would be useful to check in the SII9234 datasheet what power sequence the
chip expects. Is there any chance you could find that document ?


We have access only to the parts of the SII9234 documentation now and 
there is no

such information there.


+- interrupts, interrupt-parent: interrupt specifier of INT pin
+- reset-gpios: gpio specifier of RESET pin

Is this mandatory to connect the reset pin to the SoC ?

IMHO yes, the chip has to be reset during the initialization procedure
and doesn't work properly without reset.

OK, I have no issue making the property mandatory then.


Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 1/2] drm/bridge: add Silicon Image SiI9234 driver

2017-08-10 Thread Laurent Pinchart
Hi Marek,

On Friday 04 Aug 2017 08:55:55 Marek Szyprowski wrote:
> Hi Laurent,
> 
> Thanks for your detailed comments. Maciej resurrected some orphaned code,
> which is still useful today (Tomasz has left Samsung a few years ago).
> I'm not sure we will be able to answer all your questions without deep
> investigation, especially about the driver operation details, but we
> will try.

Thank you.

> On 2017-08-03 12:24, Laurent Pinchart wrote:
> > On Thursday 03 Aug 2017 09:45:22 Maciej Purski wrote:
> >> SiI9234 transmitter converts eTMDS/HDMI signal to MHL 1.0.
> >> It is controlled via I2C bus. Its interaction with other
> >> devices in video pipeline is performed mainly on HW level.
> >> The only interaction it does on device driver level is
> >> filtering-out unsupported video modes, it exposes drm_bridge
> >> interface to perform this operation.
> >> 
> >> This patch is based on the code refactored by Tomasz Stanislawski
> >> , which was initially developed by:
> >> Adam Hampson 
> >> Erik Gilling 
> >> Shankar Bandal 
> >> Dharam Kumar 
> >> 
> >> Signed-off-by: Maciej Purski 
> >> ---
> >> 
> >>   .../devicetree/bindings/display/bridge/sii9234.txt |   20 +
> >>   drivers/gpu/drm/bridge/Kconfig |8 +
> >>   drivers/gpu/drm/bridge/Makefile|1 +
> >>   drivers/gpu/drm/bridge/sii9234.c   | 1019 +
> >>   4 files changed, 1048 insertions(+)
> >>   create mode 100644
> >> 
> >> Documentation/devicetree/bindings/display/bridge/sii9234.txt create mode
> >> 100644 drivers/gpu/drm/bridge/sii9234.c
> >> 
> >> diff --git a/Documentation/devicetree/bindings/display/bridge/sii9234.txt
> >> b/Documentation/devicetree/bindings/display/bridge/sii9234.txt new file
> >> mode 100644
> >> index 000..2cdf286
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/display/bridge/sii9234.txt
> > 
> > DT reviewers might ask you to submit DT bindings as a separate patch.
> > 
> >> @@ -0,0 +1,20 @@
> >> +SiI9234 Mobile HD Link Transmitter
> >> +
> >> +Required properties:
> >> +- compatible : "sil,sii9234".
> >> +- reg : I2C address for TPI interface, use 0x39
> >> +- vcc-supply : regulator that supplies the chip
> > 
> > Is there a single power supply only ? Transceivers usually have at least
> > one digital and one analog power supply.
> 
> Acording to the schematic there are four power supplies used for SII9234
> MHL chip in Trats2 board: VSIL_1.2A, VSIL_1.2C, VCC_3.3V_MHL and
> VCC_1.8V_MHL. First two are derived directly from VSIL_1.2 signal, which is
> modeled as a fixed regulator. The latter two are derived directly from VBAT
> using some level converter, which is controlled by the same GPIO pin as VSIL
> fixed regulator. Any idea how this should be represented better in device
> tree instead of having single vcc-supply?

Without access to the documentation I can only guess, but it looks like 
VSIL_1.2A and VSIL_1.2C are supposed to be powered from the same power supply 
rail, possibly with different filters. I think they can be grouped together 
from a DT binding point of view. The last two supplies seem independent. We 
should thus probably model this as three separate supplies.

It would be useful to check in the SII9234 datasheet what power sequence the 
chip expects. Is there any chance you could find that document ?

> >> +- interrupts, interrupt-parent: interrupt specifier of INT pin
> >> +- reset-gpios: gpio specifier of RESET pin
> > 
> > Is this mandatory to connect the reset pin to the SoC ?
> 
> IMHO yes, the chip has to be reset during the initialization procedure
> and doesn't work properly without reset.

OK, I have no issue making the property mandatory then.

-- 
Regards,

Laurent Pinchart

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 1/2] drm/bridge: add Silicon Image SiI9234 driver

2017-08-03 Thread Marek Szyprowski

Hi Laurent,

Thanks for your detailed comments. Maciej resurrected some orphaned code,
which is still useful today (Tomasz has left Samsung a few years ago).
I'm not sure we will be able to answer all your questions without deep
investigation, especially about the driver operation details, but we
will try.

On 2017-08-03 12:24, Laurent Pinchart wrote:

Hi Maciej,

Thank you for the patch.

On Thursday 03 Aug 2017 09:45:22 Maciej Purski wrote:

SiI9234 transmitter converts eTMDS/HDMI signal to MHL 1.0.
It is controlled via I2C bus. Its interaction with other
devices in video pipeline is performed mainly on HW level.
The only interaction it does on device driver level is
filtering-out unsupported video modes, it exposes drm_bridge
interface to perform this operation.

This patch is based on the code refactored by Tomasz Stanislawski
, which was initially developed by:
Adam Hampson 
Erik Gilling 
Shankar Bandal 
Dharam Kumar 

Signed-off-by: Maciej Purski 
---
  .../devicetree/bindings/display/bridge/sii9234.txt |   20 +
  drivers/gpu/drm/bridge/Kconfig |8 +
  drivers/gpu/drm/bridge/Makefile|1 +
  drivers/gpu/drm/bridge/sii9234.c   | 1019 +
  4 files changed, 1048 insertions(+)
  create mode 100644
Documentation/devicetree/bindings/display/bridge/sii9234.txt create mode
100644 drivers/gpu/drm/bridge/sii9234.c

diff --git a/Documentation/devicetree/bindings/display/bridge/sii9234.txt
b/Documentation/devicetree/bindings/display/bridge/sii9234.txt new file
mode 100644
index 000..2cdf286
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/sii9234.txt

DT reviewers might ask you to submit DT bindings as a separate patch.


@@ -0,0 +1,20 @@
+SiI9234 Mobile HD Link Transmitter
+
+Required properties:
+- compatible : "sil,sii9234".
+- reg : I2C address for TPI interface, use 0x39
+- vcc-supply : regulator that supplies the chip

Is there a single power supply only ? Transceivers usually have at least one
digital and one analog power supply.


Acording to the schematic there are four power supplies used for SII9234 
MHL chip in
Trats2 board: VSIL_1.2A, VSIL_1.2C, VCC_3.3V_MHL and VCC_1.8V_MHL. First 
two are
derived directly from VSIL_1.2 signal, which is modeled as a fixed 
regulator. The
latter two are derived directly from VBAT using some level converter, 
which is
controlled by the same GPIO pin as VSIL fixed regulator. Any idea how 
this should

be represented better in device tree instead of having single vcc-supply?




+- interrupts, interrupt-parent: interrupt specifier of INT pin
+- reset-gpios: gpio specifier of RESET pin

Is this mandatory to connect the reset pin to the SoC ?


IMHO yes, the chip has to be reset during the initialization procedure 
and doesn't

work properly without reset.

> [...] 


Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 1/2] drm/bridge: add Silicon Image SiI9234 driver

2017-08-03 Thread kbuild test robot
Hi Maciej,

[auto build test WARNING on drm/drm-next]
[also build test WARNING on v4.13-rc3 next-20170803]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Maciej-Purski/add-Silicon-Image-SiI9234-driver/20170803-200255
base:   git://people.freedesktop.org/~airlied/linux.git drm-next


coccinelle warnings: (new ones prefixed by >>)

>> drivers/gpu/drm/bridge/sii9234.c:1010:3-8: No need to set .owner here. The 
>> core will do it.

Please review and possibly fold the followup patch.

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 1/2] drm/bridge: add Silicon Image SiI9234 driver

2017-08-03 Thread Laurent Pinchart
Hi Maciej,

Thank you for the patch.

On Thursday 03 Aug 2017 09:45:22 Maciej Purski wrote:
> SiI9234 transmitter converts eTMDS/HDMI signal to MHL 1.0.
> It is controlled via I2C bus. Its interaction with other
> devices in video pipeline is performed mainly on HW level.
> The only interaction it does on device driver level is
> filtering-out unsupported video modes, it exposes drm_bridge
> interface to perform this operation.
> 
> This patch is based on the code refactored by Tomasz Stanislawski
> , which was initially developed by:
> Adam Hampson 
> Erik Gilling 
> Shankar Bandal 
> Dharam Kumar 
> 
> Signed-off-by: Maciej Purski 
> ---
>  .../devicetree/bindings/display/bridge/sii9234.txt |   20 +
>  drivers/gpu/drm/bridge/Kconfig |8 +
>  drivers/gpu/drm/bridge/Makefile|1 +
>  drivers/gpu/drm/bridge/sii9234.c   | 1019 +
>  4 files changed, 1048 insertions(+)
>  create mode 100644
> Documentation/devicetree/bindings/display/bridge/sii9234.txt create mode
> 100644 drivers/gpu/drm/bridge/sii9234.c
> 
> diff --git a/Documentation/devicetree/bindings/display/bridge/sii9234.txt
> b/Documentation/devicetree/bindings/display/bridge/sii9234.txt new file
> mode 100644
> index 000..2cdf286
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/bridge/sii9234.txt

DT reviewers might ask you to submit DT bindings as a separate patch.

> @@ -0,0 +1,20 @@
> +SiI9234 Mobile HD Link Transmitter
> +
> +Required properties:
> +- compatible : "sil,sii9234".
> +- reg : I2C address for TPI interface, use 0x39
> +- vcc-supply : regulator that supplies the chip

Is there a single power supply only ? Transceivers usually have at least one 
digital and one analog power supply.

> +- interrupts, interrupt-parent: interrupt specifier of INT pin
> +- reset-gpios: gpio specifier of RESET pin

Is this mandatory to connect the reset pin to the SoC ?

You should use the OF graph DT bindings (a.k.a. ports) to describe the data 
connections with the rest of the system. I'm not familiar with this chip, but 
I assume it should have one input port connected to the SoC and one output 
port connected to an HDMI connector DT node.

> +Additional compatible properties are also allowed.

How so ? :-)

> +
> +Example:
> + sii9234@39 {
> + compatible = "sil,sii9234";
> + reg = <0x39>;
> + vcc-supply = <&vsil>;
> + reset-gpios = <&gpf3 4 GPIO_ACTIVE_HIGH>;
> + interrupt-parent = <&gpf3>;
> + interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
> + };
> diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> index adf9ae0..f5784e5 100644
> --- a/drivers/gpu/drm/bridge/Kconfig
> +++ b/drivers/gpu/drm/bridge/Kconfig
> @@ -100,6 +100,14 @@ config DRM_TI_TFP410
>   ---help---
> Texas Instruments TFP410 DVI/HDMI Transmitter driver
> 
> +config DRM_SII9234
> + tristate "Silicon Image SII9234 Driver"
> + depends on I2C

You can depend on OF too as the driver doesn't currently support any other 
method.

> + help
> +   Say Y here if you want support for the MHL interface.
> +   It is an I2C driver, that detects connection of MHL bridge
> +   and starts encapsulation of HDMI signal.
> +
>  source "drivers/gpu/drm/bridge/analogix/Kconfig"
> 
>  source "drivers/gpu/drm/bridge/adv7511/Kconfig"
> diff --git a/drivers/gpu/drm/bridge/Makefile
> b/drivers/gpu/drm/bridge/Makefile index defcf1e..e3d5eb0 100644
> --- a/drivers/gpu/drm/bridge/Makefile
> +++ b/drivers/gpu/drm/bridge/Makefile
> @@ -6,6 +6,7 @@ obj-$(CONFIG_DRM_NXP_PTN3460) += nxp-ptn3460.o
>  obj-$(CONFIG_DRM_PARADE_PS8622) += parade-ps8622.o
>  obj-$(CONFIG_DRM_SIL_SII8620) += sil-sii8620.o
>  obj-$(CONFIG_DRM_SII902X) += sii902x.o
> +obj-$(CONFIG_DRM_SII9234) += sii9234.o
>  obj-$(CONFIG_DRM_TOSHIBA_TC358767) += tc358767.o
>  obj-$(CONFIG_DRM_ANALOGIX_DP) += analogix/
>  obj-$(CONFIG_DRM_I2C_ADV7511) += adv7511/
> diff --git a/drivers/gpu/drm/bridge/sii9234.c
> b/drivers/gpu/drm/bridge/sii9234.c new file mode 100644
> index 000..9c436e7
> --- /dev/null
> +++ b/drivers/gpu/drm/bridge/sii9234.c
> @@ -0,0 +1,1019 @@
> +/*
> + * Copyright (C) 2014 Samsung Electronics
> + *
> + * Author: Tomasz Stanislawski 
> + *
> + * Based on sii9234 driver created by:
> + *Adam Hampson 
> + *Erik Gilling 
> + *Shankar Bandal 
> + *Dharam Kumar 
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You