Re: [PATCH] cpufreq: rcar: Add support for R8A7795 SoC

2017-08-15 Thread Viresh Kumar
On 14-08-17, 15:36, Geert Uytterhoeven wrote:
> I'm still a bit confused about your original comment when introducing this
> file with the ever-growing table of SoCs:
> 
> "And for new platforms we may do things differently as they are going
>  to use opp-v2 bindings."
> 
> Hence I was under the impression the growing would be mitigated by new SoCs
> using the opp-v2 bindings instead, and not needing an entry in the table.
> 
> Perhaps I have misunderstood that comment?

Not really.

I have sent two patches to take care of your concerns. Do let me know if you
have any concerns with them.

-- 
viresh


Re: [PATCH] cpufreq: dt: Add r8a7796 support to to use generic cpufreq driver

2017-08-15 Thread Viresh Kumar
On 11-08-17, 17:36, Simon Horman wrote:
> From: Khiem Nguyen 
> 
> This patch adds the r8a7796 support the generic cpufreq driver
> by adding an appropriate compat string. This is in keeping
> with support for other Renesas ARM and arm64 based SoCs.
> 
> Signed-off-by: Khiem Nguyen 
> [simon: new changelog]
> Signed-off-by: Simon Horman 
> ---
>  drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> This is a follow-up for a similar change that has already been accepted
> for the r8a7795.
> 
> 
> I have provided an integration branch that includes with this patch, those
> DTS updates that make use of opp-v2 bindings that depend on this change,
> and Renesas clock updates also depended on by the DTS changes.  The result
> is working CPUFreq for the r8a7796 (R-Car M3-W).
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git 
> topic/r8a7796-cpufreq
> 
> A description of steps taken to lightly exercise the same feature for the
> r88a7795 the above can be found at the link below. The results are the same
> for the r8a7796 with the exception that it has two active CPU cores rather
> than four.
> 
> http://elinux.org/Tests:R-CAR-GEN3-CPUFreq
> 
> diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c 
> b/drivers/cpufreq/cpufreq-dt-platdev.c
> index bcee384b3251..233e18ad3948 100644
> --- a/drivers/cpufreq/cpufreq-dt-platdev.c
> +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
> @@ -68,6 +68,7 @@ static const struct of_device_id machines[] __initconst = {
>   { .compatible = "renesas,r8a7793", },
>   { .compatible = "renesas,r8a7794", },
>   { .compatible = "renesas,r8a7795", },
> + { .compatible = "renesas,r8a7796", },
>   { .compatible = "renesas,sh73a0", },
>  
>   { .compatible = "rockchip,rk2928", },

Acked-by: Viresh Kumar 

-- 
viresh


Re: [PATCH ] dt-bindings: net: ravb : Add support for r8a7745 SoC

2017-08-15 Thread David Miller
From: Biju Das <biju@bp.renesas.com>
Date: Tue, 15 Aug 2017 15:40:20 +0100

> Add a new compatible string for the RZ/G1E (R8A7745) SoC.
> 
> Signed-off-by: Biju Das <biju@bp.renesas.com>
> ---
> This patch is tested against linux-next tag next-20170815
> as well as net-next.

Applied.


[ANN] R-Car DU Test Suite

2017-08-15 Thread Laurent Pinchart
Hello,

In the spirit of the VSP unit test suite, new Python-based unit tests for the 
R-Car DU are now available at

git://git.ideasonboard.com/renesas/kms-tests.git

The http://elinux.org/R-Car/Devices wiki page has been updated to reference 
the unit test suite.

The tests were written to use a modular class-based approach in order to 
facilitate development of new tests and maintenance of existing tests. They 
are located in the tests directory of the source tree.

All tests are scripts and don't need to be built. They require Python3 and the 
kmsxx Python bindings to be installed on the target. More information can be 
found in the README file at the root of the source tree.

The DU test suite currently contains the following tests.

- kms-test-allplanes.py: Test composition with all planes enabled on all CRTCs
- kms-test-connectors.py: Perform sanity checks on all connectors.
- kms-test-modeset.py: Test mode setting on all connectors in sequence with 
the default mode.
- kms-test-modes.py: Test all available modes on all available connectors.
- kms-test-pageflip.py: Test page flipping on all connectors in sequence with 
the default mode.
- kms-test-planeposition.py: Test boundaries of plane positioning.

More tests will be added in the future.

Execution of the tests is automated, but manual verification is still required 
as the test suite currently has no mean to capture the output of the VGA, HDMI 
and LVDS connectors. This area will be improved by using HDMI loopback from DU 
to VIN and hardware CRC calculation on output frames.

-- 
Regards,

Laurent Pinchart



[PATCH 0/3] R-Car DU: Clip planes to screen boundaries

2017-08-15 Thread Laurent Pinchart
Hello,

This patch series fixes support for planes that cross the screen boundaries.
The KMS API supports such a configuration, but the DU and VSP hardware
doesn't. This leads to different kind of dispay artifacts or hangs.

The series starts with a bit of refactoring to share existing code and make it
easier to share new code (1/3). Patch 2/3 then reject planes that are fully
off-screen as they don't work properly and we have currently no use case for
them. Finally, patch 3/3 clips planes to screen boundaries to fix the main
issue.

The patches are based on top of Dave's latest master branch.

Laurent Pinchart (3):
  drm: rcar-du: Share plane atomic check code between Gen2 and Gen3
  drm: rcar-du: Reject planes located fully off-screen
  drm: rcar-du: Clip planes to screen boundaries

 drivers/gpu/drm/rcar-du/rcar_du_plane.c | 109 
 drivers/gpu/drm/rcar-du/rcar_du_plane.h |   8 +++
 drivers/gpu/drm/rcar-du/rcar_du_vsp.c   |  43 -
 3 files changed, 105 insertions(+), 55 deletions(-)

-- 
Regards,

Laurent Pinchart



[PATCH 1/3] drm: rcar-du: Share plane atomic check code between Gen2 and Gen3

2017-08-15 Thread Laurent Pinchart
The plane atomic check implementation is identical on Gen2 (DU planes)
and Gen3 (VSP planes), but two separate functions exist as they operate
on different data structures. Refactor the code to share the
implementation.

Signed-off-by: Laurent Pinchart 
---
 drivers/gpu/drm/rcar-du/rcar_du_plane.c | 27 +--
 drivers/gpu/drm/rcar-du/rcar_du_plane.h |  4 
 drivers/gpu/drm/rcar-du/rcar_du_vsp.c   | 22 +-
 3 files changed, 22 insertions(+), 31 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c 
b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
index 61833cc1c699..4f076c364f25 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
@@ -565,27 +565,26 @@ void __rcar_du_plane_setup(struct rcar_du_group *rgrp,
}
 }
 
-static int rcar_du_plane_atomic_check(struct drm_plane *plane,
- struct drm_plane_state *state)
+int __rcar_du_plane_atomic_check(struct drm_plane *plane,
+struct drm_plane_state *state,
+const struct rcar_du_format_info **format)
 {
-   struct rcar_du_plane_state *rstate = to_rcar_plane_state(state);
-   struct rcar_du_plane *rplane = to_rcar_plane(plane);
-   struct rcar_du_device *rcdu = rplane->group->dev;
+   struct drm_device *dev = plane->dev;
 
if (!state->fb || !state->crtc) {
-   rstate->format = NULL;
+   *format = NULL;
return 0;
}
 
if (state->src_w >> 16 != state->crtc_w ||
state->src_h >> 16 != state->crtc_h) {
-   dev_dbg(rcdu->dev, "%s: scaling not supported\n", __func__);
+   dev_dbg(dev->dev, "%s: scaling not supported\n", __func__);
return -EINVAL;
}
 
-   rstate->format = rcar_du_format_info(state->fb->format->format);
-   if (rstate->format == NULL) {
-   dev_dbg(rcdu->dev, "%s: unsupported format %08x\n", __func__,
+   *format = rcar_du_format_info(state->fb->format->format);
+   if (*format == NULL) {
+   dev_dbg(dev->dev, "%s: unsupported format %08x\n", __func__,
state->fb->format->format);
return -EINVAL;
}
@@ -593,6 +592,14 @@ static int rcar_du_plane_atomic_check(struct drm_plane 
*plane,
return 0;
 }
 
+static int rcar_du_plane_atomic_check(struct drm_plane *plane,
+ struct drm_plane_state *state)
+{
+   struct rcar_du_plane_state *rstate = to_rcar_plane_state(state);
+
+   return __rcar_du_plane_atomic_check(plane, state, >format);
+}
+
 static void rcar_du_plane_atomic_update(struct drm_plane *plane,
struct drm_plane_state *old_state)
 {
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.h 
b/drivers/gpu/drm/rcar-du/rcar_du_plane.h
index f62e09f195de..890321b4665d 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_plane.h
+++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.h
@@ -73,6 +73,10 @@ to_rcar_plane_state(struct drm_plane_state *state)
 int rcar_du_atomic_check_planes(struct drm_device *dev,
struct drm_atomic_state *state);
 
+int __rcar_du_plane_atomic_check(struct drm_plane *plane,
+struct drm_plane_state *state,
+const struct rcar_du_format_info **format);
+
 int rcar_du_planes_init(struct rcar_du_group *rgrp);
 
 void __rcar_du_plane_setup(struct rcar_du_group *rgrp,
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c 
b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
index 2c96147bc444..dd66dcb8da23 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c
@@ -268,28 +268,8 @@ static int rcar_du_vsp_plane_atomic_check(struct drm_plane 
*plane,
  struct drm_plane_state *state)
 {
struct rcar_du_vsp_plane_state *rstate = to_rcar_vsp_plane_state(state);
-   struct rcar_du_vsp_plane *rplane = to_rcar_vsp_plane(plane);
-   struct rcar_du_device *rcdu = rplane->vsp->dev;
-
-   if (!state->fb || !state->crtc) {
-   rstate->format = NULL;
-   return 0;
-   }
 
-   if (state->src_w >> 16 != state->crtc_w ||
-   state->src_h >> 16 != state->crtc_h) {
-   dev_dbg(rcdu->dev, "%s: scaling not supported\n", __func__);
-   return -EINVAL;
-   }
-
-   rstate->format = rcar_du_format_info(state->fb->format->format);
-   if (rstate->format == NULL) {
-   dev_dbg(rcdu->dev, "%s: unsupported format %08x\n", __func__,
-   state->fb->format->format);
-   return -EINVAL;
-   }
-
-   return 0;
+   return __rcar_du_plane_atomic_check(plane, state, >format);
 }
 
 static void rcar_du_vsp_plane_atomic_update(struct drm_plane 

[PATCH 2/3] drm: rcar-du: Reject planes located fully off-screen

2017-08-15 Thread Laurent Pinchart
There is no point in accepting fully off-screen planes as they won't be
displayed. Reject them in the atomic check.

Signed-off-by: Laurent Pinchart 
---
 drivers/gpu/drm/rcar-du/rcar_du_plane.c | 16 
 1 file changed, 16 insertions(+)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c 
b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
index 4f076c364f25..714e02960635 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
@@ -569,6 +569,8 @@ int __rcar_du_plane_atomic_check(struct drm_plane *plane,
 struct drm_plane_state *state,
 const struct rcar_du_format_info **format)
 {
+   const struct drm_display_mode *mode;
+   struct drm_crtc_state *crtc_state;
struct drm_device *dev = plane->dev;
 
if (!state->fb || !state->crtc) {
@@ -582,6 +584,20 @@ int __rcar_du_plane_atomic_check(struct drm_plane *plane,
return -EINVAL;
}
 
+   crtc_state = drm_atomic_get_crtc_state(state->state, state->crtc);
+   if (IS_ERR(crtc_state))
+   return PTR_ERR(crtc_state);
+
+   mode = _state->adjusted_mode;
+   if (state->crtc_x >= mode->hdisplay ||
+   state->crtc_y >= mode->vdisplay ||
+   state->crtc_x + (int)state->crtc_w <= 0 ||
+   state->crtc_y + (int)state->crtc_h <= 0) {
+   dev_dbg(dev->dev, "%s: plane can't be fully off-screen\n",
+   __func__);
+   return -EINVAL;
+   }
+
*format = rcar_du_format_info(state->fb->format->format);
if (*format == NULL) {
dev_dbg(dev->dev, "%s: unsupported format %08x\n", __func__,
-- 
Regards,

Laurent Pinchart



[PATCH 3/3] drm: rcar-du: Clip planes to screen boundaries

2017-08-15 Thread Laurent Pinchart
Unlike the KMS API, the hardware doesn't support planes exceeding the
screen boundaries. Clip plane coordinates to support the use case.

Signed-off-by: Laurent Pinchart 
---
 drivers/gpu/drm/rcar-du/rcar_du_plane.c | 66 +
 drivers/gpu/drm/rcar-du/rcar_du_plane.h |  4 ++
 drivers/gpu/drm/rcar-du/rcar_du_vsp.c   | 21 +++
 3 files changed, 67 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_plane.c 
b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
index 714e02960635..7944790bac25 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_plane.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_plane.c
@@ -19,6 +19,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "rcar_du_drv.h"
 #include "rcar_du_group.h"
@@ -329,11 +330,39 @@ static void rcar_du_plane_write(struct rcar_du_group 
*rgrp,
  data);
 }
 
+void rcar_du_plane_clip(const struct drm_plane_state *state,
+   struct drm_rect *src, struct drm_rect *dst)
+{
+   const struct drm_display_mode *mode;
+
+   /*
+* The hardware requires all planes to be fully contained in the output
+* rectangle. Crop the destination rectangle to fit in the CRTC.
+*/
+   mode = >crtc->state->adjusted_mode;
+
+   dst->x1 = max(0, state->crtc_x);
+   dst->y1 = max(0, state->crtc_y);
+   dst->x2 = min_t(unsigned int, mode->hdisplay,
+   state->crtc_x + state->crtc_w);
+   dst->y2 = min_t(unsigned int, mode->vdisplay,
+   state->crtc_y + state->crtc_h);
+
+   /*
+* Offset the left and top source coordinates by the same displacement
+* we have applied to the destination rectangle. Copy the width and
+* height as the hardware can't scale.
+*/
+   src->x1 = (state->src_x >> 16) + (dst->x1 - state->crtc_x);
+   src->y1 = (state->src_y >> 16) + (dst->y1 - state->crtc_y);
+   src->x2 = src->x1 + (dst->x2 - dst->x1);
+   src->y2 = src->y1 + (dst->y2 - dst->y1);
+}
+
 static void rcar_du_plane_setup_scanout(struct rcar_du_group *rgrp,
-   const struct rcar_du_plane_state *state)
+   const struct rcar_du_plane_state *state,
+   const struct drm_rect *src)
 {
-   unsigned int src_x = state->state.src_x >> 16;
-   unsigned int src_y = state->state.src_y >> 16;
unsigned int index = state->hwindex;
unsigned int pitch;
bool interlaced;
@@ -357,7 +386,7 @@ static void rcar_du_plane_setup_scanout(struct 
rcar_du_group *rgrp,
dma[i] = gem->paddr + fb->offsets[i];
}
} else {
-   pitch = state->state.src_w >> 16;
+   pitch = drm_rect_width(>state.src);
dma[0] = 0;
dma[1] = 0;
}
@@ -383,8 +412,8 @@ static void rcar_du_plane_setup_scanout(struct 
rcar_du_group *rgrp,
 * require a halved Y position value, in both progressive and interlaced
 * modes.
 */
-   rcar_du_plane_write(rgrp, index, PnSPXR, src_x);
-   rcar_du_plane_write(rgrp, index, PnSPYR, src_y *
+   rcar_du_plane_write(rgrp, index, PnSPXR, src->x1);
+   rcar_du_plane_write(rgrp, index, PnSPYR, src->y1 *
(!interlaced && state->format->bpp == 32 ? 2 : 1));
 
rcar_du_plane_write(rgrp, index, PnDSA0R, dma[0]);
@@ -394,8 +423,8 @@ static void rcar_du_plane_setup_scanout(struct 
rcar_du_group *rgrp,
 
rcar_du_plane_write(rgrp, index, PnMWR, pitch);
 
-   rcar_du_plane_write(rgrp, index, PnSPXR, src_x);
-   rcar_du_plane_write(rgrp, index, PnSPYR, src_y *
+   rcar_du_plane_write(rgrp, index, PnSPXR, src->x1);
+   rcar_du_plane_write(rgrp, index, PnSPYR, src->y1 *
(state->format->bpp == 16 ? 2 : 1) / 2);
 
rcar_du_plane_write(rgrp, index, PnDSA0R, dma[1]);
@@ -518,7 +547,8 @@ static void rcar_du_plane_setup_format_gen3(struct 
rcar_du_group *rgrp,
 
 static void rcar_du_plane_setup_format(struct rcar_du_group *rgrp,
   unsigned int index,
-  const struct rcar_du_plane_state *state)
+  const struct rcar_du_plane_state *state,
+  const struct drm_rect *dst)
 {
struct rcar_du_device *rcdu = rgrp->dev;
 
@@ -528,10 +558,10 @@ static void rcar_du_plane_setup_format(struct 
rcar_du_group *rgrp,
rcar_du_plane_setup_format_gen3(rgrp, index, state);
 
/* Destination position and size */
-   rcar_du_plane_write(rgrp, index, PnDSXR, state->state.crtc_w);
-   rcar_du_plane_write(rgrp, index, PnDSYR, state->state.crtc_h);
-   rcar_du_plane_write(rgrp, index, PnDPXR, 

[PATCH] v4l: vsp1: Start and stop DRM pipeline independently of planes

2017-08-15 Thread Laurent Pinchart
The KMS API supports enabling a CRTC without any plane. To enable that
use case, we need to start the pipeline when configuring the LIF,
instead of when enabling the first plane.

Signed-off-by: Laurent Pinchart 
---
 drivers/media/platform/vsp1/vsp1_drm.c | 37 +-
 1 file changed, 27 insertions(+), 10 deletions(-)

This patch is based on top of the VSP+DU large patch series queued through
Dave's DRM tree for v4.14-rc1. It doesn't can't be merged independently
through the linux-media tree for the same kernel version. As the change is not
urgent, it can be delayed until v4.15-rc1.

diff --git a/drivers/media/platform/vsp1/vsp1_drm.c 
b/drivers/media/platform/vsp1/vsp1_drm.c
index 4dfbeac8f42c..7ce69f23f50a 100644
--- a/drivers/media/platform/vsp1/vsp1_drm.c
+++ b/drivers/media/platform/vsp1/vsp1_drm.c
@@ -84,8 +84,12 @@ int vsp1_du_setup_lif(struct device *dev, unsigned int 
pipe_index,
struct vsp1_drm_pipeline *drm_pipe;
struct vsp1_pipeline *pipe;
struct vsp1_bru *bru;
+   struct vsp1_entity *entity;
+   struct vsp1_entity *next;
+   struct vsp1_dl_list *dl;
struct v4l2_subdev_format format;
const char *bru_name;
+   unsigned long flags;
unsigned int i;
int ret;
 
@@ -250,6 +254,29 @@ int vsp1_du_setup_lif(struct device *dev, unsigned int 
pipe_index,
vsp1_write(vsp1, VI6_DISP_IRQ_STA, 0);
vsp1_write(vsp1, VI6_DISP_IRQ_ENB, 0);
 
+   /* Configure all entities in the pipeline. */
+   dl = vsp1_dl_list_get(pipe->output->dlm);
+
+   list_for_each_entry_safe(entity, next, >entities, list_pipe) {
+   vsp1_entity_route_setup(entity, pipe, dl);
+
+   if (entity->ops->configure) {
+   entity->ops->configure(entity, pipe, dl,
+  VSP1_ENTITY_PARAMS_INIT);
+   entity->ops->configure(entity, pipe, dl,
+  VSP1_ENTITY_PARAMS_RUNTIME);
+   entity->ops->configure(entity, pipe, dl,
+  VSP1_ENTITY_PARAMS_PARTITION);
+   }
+   }
+
+   vsp1_dl_list_commit(dl);
+
+   /* Start the pipeline. */
+   spin_lock_irqsave(>irqlock, flags);
+   vsp1_pipeline_run(pipe);
+   spin_unlock_irqrestore(>irqlock, flags);
+
dev_dbg(vsp1->dev, "%s: pipeline enabled\n", __func__);
 
return 0;
@@ -488,7 +515,6 @@ void vsp1_du_atomic_flush(struct device *dev, unsigned int 
pipe_index)
struct vsp1_entity *next;
struct vsp1_dl_list *dl;
const char *bru_name;
-   unsigned long flags;
unsigned int i;
int ret;
 
@@ -570,15 +596,6 @@ void vsp1_du_atomic_flush(struct device *dev, unsigned int 
pipe_index)
}
 
vsp1_dl_list_commit(dl);
-
-   /* Start or stop the pipeline if needed. */
-   if (!drm_pipe->enabled && pipe->num_inputs) {
-   spin_lock_irqsave(>irqlock, flags);
-   vsp1_pipeline_run(pipe);
-   spin_unlock_irqrestore(>irqlock, flags);
-   } else if (drm_pipe->enabled && !pipe->num_inputs) {
-   vsp1_pipeline_stop(pipe);
-   }
 }
 EXPORT_SYMBOL_GPL(vsp1_du_atomic_flush);
 
-- 
Regards,

Laurent Pinchart



Re: [PATCH v2 0/2] PCI: rcar-pcie: Fix memory leak

2017-08-15 Thread Bjorn Helgaas
On Fri, Aug 04, 2017 at 12:32:53PM +0900, Harunobu Kurokawa wrote:
> When no PCIe card is inserted, there is a memory leak as
> pci_free_resource_list is not called before returning.
> 
> v2:
>  separate the patch to two files.
> 
> Harunobu Kurokawa (1):
>   PCI: rcar-pcie: Fix memory leak when no PCIe card is inserted
> 
> Lorenzo Pieralisi (1):
>   PCI: rcar: Fix error exit path
> 
>  drivers/pci/host/pcie-rcar.c | 12 ++--
>  1 file changed, 6 insertions(+), 6 deletions(-)

Applied with Simon's ack to pci/host-rcar for v4.14, thanks!


[PATCH] dt-bindings: mmc: sh_mmcif: Document r8a7745 DT bindings

2017-08-15 Thread Fabrizio Castro
Signed-off-by: Fabrizio Castro 
Reviewed-by: Chris Paterson 
---
 Documentation/devicetree/bindings/mmc/renesas,mmcif.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/mmc/renesas,mmcif.txt 
b/Documentation/devicetree/bindings/mmc/renesas,mmcif.txt
index 703e18c..5ff1e12 100644
--- a/Documentation/devicetree/bindings/mmc/renesas,mmcif.txt
+++ b/Documentation/devicetree/bindings/mmc/renesas,mmcif.txt
@@ -12,6 +12,7 @@ Required properties:
- "renesas,mmcif-r8a73a4" for the MMCIF found in r8a73a4 SoCs
- "renesas,mmcif-r8a7740" for the MMCIF found in r8a7740 SoCs
- "renesas,mmcif-r8a7743" for the MMCIF found in r8a7743 SoCs
+   - "renesas,mmcif-r8a7745" for the MMCIF found in r8a7745 SoCs
- "renesas,mmcif-r8a7778" for the MMCIF found in r8a7778 SoCs
- "renesas,mmcif-r8a7790" for the MMCIF found in r8a7790 SoCs
- "renesas,mmcif-r8a7791" for the MMCIF found in r8a7791 SoCs
@@ -22,7 +23,7 @@ Required properties:
 - interrupts: Some SoCs have only 1 shared interrupt, while others have either
   2 or 3 individual interrupts (error, int, card detect). Below is the number
   of interrupts for each SoC:
-1: r8a73a4, r8a7743, r8a7778, r8a7790, r8a7791, r8a7793, r8a7794
+1: r8a73a4, r8a7743, r8a7745, r8a7778, r8a7790, r8a7791, r8a7793, r8a7794
 2: r8a7740, sh73a0
 3: r7s72100
 
-- 
2.7.4



Re: [PATCH 1/4] v4l: async: fix unbind error in v4l2_async_notifier_unregister()

2017-08-15 Thread Sakari Ailus
On Mon, Jul 31, 2017 at 12:31:55AM +0200, Niklas Söderlund wrote:
> The call to v4l2_async_cleanup() will set sd->asd to NULL so passing it
> to notifier->unbind() have no effect and leaves the notifier confused.
> Call the unbind() callback prior to cleaning up the subdevice to avoid
> this.
> 
> Signed-off-by: Niklas Söderlund 

This is a bugfix and worthy without any other patches and so should be
applied separately.

I think it'd be safer to store sd->asd locally and call the notifier unbind
with that. Now you're making changes to the order in which things work, and
that's not necessary to achieve the objective of passing the async subdev
pointer to the notifier.

With that changed,

Acked-by: Sakari Ailus 

> ---
>  drivers/media/v4l2-core/v4l2-async.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/v4l2-core/v4l2-async.c 
> b/drivers/media/v4l2-core/v4l2-async.c
> index 851f128eba2219ad..0acf288d7227ba97 100644
> --- a/drivers/media/v4l2-core/v4l2-async.c
> +++ b/drivers/media/v4l2-core/v4l2-async.c
> @@ -226,14 +226,14 @@ void v4l2_async_notifier_unregister(struct 
> v4l2_async_notifier *notifier)
>  
>   d = get_device(sd->dev);
>  
> + if (notifier->unbind)
> + notifier->unbind(notifier, sd, sd->asd);
> +
>   v4l2_async_cleanup(sd);
>  
>   /* If we handled USB devices, we'd have to lock the parent too 
> */
>   device_release_driver(d);
>  
> - if (notifier->unbind)
> - notifier->unbind(notifier, sd, sd->asd);
> -
>   /*
>* Store device at the device cache, in order to call
>* put_device() on the final step
> -- 
> 2.13.3
> 

-- 
Sakari Ailus
e-mail: sakari.ai...@iki.fi


Re: [PATCH 4/4] v4l: async: add comment about re-probing to v4l2_async_notifier_unregister()

2017-08-15 Thread Sakari Ailus
Hi Niklas,

Thanks for the patchset.

On Mon, Jul 31, 2017 at 12:31:58AM +0200, Niklas Söderlund wrote:
> The re-probing of subdevices when unregistering a notifier is tricky to
> understand, and implemented somewhat as a hack. Add a comment trying to
> explain why the re-probing is needed in the first place and why existing
> helper functions can't be used in this situation.
> 
> Signed-off-by: Niklas Söderlund 
> ---
>  drivers/media/v4l2-core/v4l2-async.c | 17 +
>  1 file changed, 17 insertions(+)
> 
> diff --git a/drivers/media/v4l2-core/v4l2-async.c 
> b/drivers/media/v4l2-core/v4l2-async.c
> index d91ff0a33fd3eaff..a3c5a1f6d4d2ab03 100644
> --- a/drivers/media/v4l2-core/v4l2-async.c
> +++ b/drivers/media/v4l2-core/v4l2-async.c
> @@ -234,6 +234,23 @@ void v4l2_async_notifier_unregister(struct 
> v4l2_async_notifier *notifier)
>  
>   mutex_unlock(_lock);
>  
> + /*
> +  * Try to re-probe the subdevices which where part of the notifier.
> +  * This is done so subdevices which where part of the notifier will
> +  * be re-probed to a pristine state and put back on the global
> +  * list of subdevices so they can once more be found and associated
> +  * with a new notifier.

Instead of tweaking the code trying to handle unhandleable error conditions
in notifier unregistration and adding lengthy stories on why this is done
the way it is, could we simply get rid of the driver re-probing?

I can't see why drivers shouldn't simply cope with the current interfaces
without re-probing to which I've never seen any reasoned cause. When a
sub-device driver is unbound, simply return the sub-device node to the list
of async sub-devices.

Or can someone come up with a valid reason why the re-probing code should
stay? :-)

> +  *
> +  * One might be tempted to use device_reprobe() to handle the re-
> +  * probing. Unfortunately this is not possible since some video
> +  * device drivers call v4l2_async_notifier_unregister() from
> +  * there remove function leading to a dead lock situation on
> +  * device_lock(dev->parent). This lock is held when video device
> +  * drivers remove function is called and device_reprobe() also
> +  * tries to take the same lock, so using it here could lead to a
> +  * dead lock situation.
> +  */
> +
>   for (i = 0; i < count; i++) {
>   /* If we handled USB devices, we'd have to lock the parent too 
> */
>   device_release_driver(dev[i]);

-- 
Regards,

Sakari Ailus
e-mail: sakari.ai...@iki.fi


Re: [PATCH 1/3] ARM: dts: r8a7745: add PFC support

2017-08-15 Thread Sergei Shtylyov

On 08/15/2017 07:00 PM, Simon Horman wrote:


Define the generic R8A7745 part of the PFC device node.

Signed-off-by: Sergei Shtylyov 


Reviewed-by: Geert Uytterhoeven 


It looks like the dependencies for this patch are met now [1].

Are you happy to accept this patch? (and presumably the others in the series 
for the sk-rzg1e board).

We plan to add GPIO support for r8a7745, but need this patch in place first.


[1] https://patchwork.kernel.org/patch/9705249/


Actually, R8A774x PFC support has hit the Linus' tree in the meanwhile.
Simon, please merge the .dts patches.


Kind regards, Chris


Thanks, I have applied the series for v4.14.


   TY! High time, otherwise we may end up with R8A7743 PFC patches merged and 
R8A7745 PFC patches not merged...


MBR, Sergei


Re: [PATCH] arm64: dts: renesas: r8a7795: correct whitespace of companion property

2017-08-15 Thread Simon Horman
On Tue, Aug 08, 2017 at 09:39:12AM +0200, Simon Horman wrote:
> Fixes: 4dad6dcdae7b ("arm64: dts: renesas: r8a7795: add usb2.0 host ch3 
> device nodes")
> Fixes: 1c422b4c501e ("arm64: dts: renesas: r8a7795: Add usb companion 
> property in EHCI")
> Signed-off-by: Simon Horman 

I have applied this change for v4.14.


Re: [GIT PULL] Renesas ARM64 Based SoC Defconfig Updates for v4.14

2017-08-15 Thread Arnd Bergmann
On Mon, Jul 31, 2017 at 5:02 PM, Simon Horman
 wrote:

> 
> Renesas ARM64 Based SoC Defconfig Updates for v4.14
>
> * compile ak4613 and renesas sound as modules
>
>   This is intended to reduce the size of a kernel image compiled
>   using the defconfig. This is timely as it brings the kernel image
>   back below the size that can be booted in my environment, a limit
>   it crept over in v4.13-rc1.

Good idea, thanks! Pulled into next/arm64.

   Arnd


Re: [PATCH 1/3] ARM: dts: r8a7745: add PFC support

2017-08-15 Thread Simon Horman
On Tue, Aug 15, 2017 at 01:39:56PM +0300, Sergei Shtylyov wrote:
> On 8/15/2017 11:47 AM, Chris Paterson wrote:
> 
> >>>Define the generic R8A7745 part of the PFC device node.
> >>>
> >>>Signed-off-by: Sergei Shtylyov 
> >>
> >>Reviewed-by: Geert Uytterhoeven 
> >
> >It looks like the dependencies for this patch are met now [1].
> >
> >Are you happy to accept this patch? (and presumably the others in the series 
> >for the sk-rzg1e board).
> >
> >We plan to add GPIO support for r8a7745, but need this patch in place first.
> >
> >
> >[1] https://patchwork.kernel.org/patch/9705249/
> 
>Actually, R8A774x PFC support has hit the Linus' tree in the meanwhile.
> Simon, please merge the .dts patches.
> 
> >Kind regards, Chris

Thanks, I have applied the series for v4.14.


Re: [GIT PULL] Renesas ARM Based SoC Defconfig Updates for v4.14

2017-08-15 Thread Arnd Bergmann
On Mon, Jul 31, 2017 at 5:03 PM, Simon Horman
 wrote:

> 
> Renesas ARM Based SoC Defconfig Updates for v4.14
>
> * Enable DMA for Renesas serial ports
>
>   Geert Uytterhoeven says, "DMA for (H)SCIF(A|B) serial ports on Renesas
>   R-Car Gen2 and RZ/G1 SoCs is considered stable, hence enable it by
>   default.".
>
> * Enable Ethernet AVB
>
>   For the iWave RZ/G1M Q7 SOM
>
> * Replace DRM_RCAR_HDMI by generic bridge options
> * Replace SND_SOC_RSRC_CARD by SND_SIMPLE_SCU_CARD
> * Replace USB_XHCI_RCAR by USB_XHCI_PLATFORM
> * Enable missing PCIE_RCAR dependency
>
>   Defconfig updates for various Kconfig updates covering
>   renamed Kconfig symbols, now missing dependancies and so on.

Pulled into next/defconfig, thanks!

Arnd


Re: [PATCH v2 0/2] PCI: rcar-pcie: Fix memory leak

2017-08-15 Thread Simon Horman
On Mon, Aug 14, 2017 at 04:11:14PM -0500, Bjorn Helgaas wrote:
> On Fri, Aug 04, 2017 at 12:32:53PM +0900, Harunobu Kurokawa wrote:
> > When no PCIe card is inserted, there is a memory leak as
> > pci_free_resource_list is not called before returning.
> > 
> > v2:
> >  separate the patch to two files.
> > 
> > Harunobu Kurokawa (1):
> >   PCI: rcar-pcie: Fix memory leak when no PCIe card is inserted
> > 
> > Lorenzo Pieralisi (1):
> >   PCI: rcar: Fix error exit path
> > 
> >  drivers/pci/host/pcie-rcar.c | 12 ++--
> >  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> Waiting for Simon's ack...

Acked-by: Simon Horman 



Re: [PATCH 1/2] ARM: dts: iwg20d-q7: Add RTC support

2017-08-15 Thread Simon Horman
On Mon, Aug 14, 2017 at 02:26:08PM +, Biju Das wrote:
> 
> 
> > -Original Message-
> > From: geert.uytterhoe...@gmail.com [mailto:geert.uytterhoe...@gmail.com]
> > On Behalf Of Geert Uytterhoeven
> > Sent: 14 August 2017 15:12
> > To: Biju Das 
> > Cc: Rob Herring ; Mark Rutland
> > ; Simon Horman ; Magnus
> > Damm ; Russell King ;
> > Chris Paterson ; devicet...@vger.kernel.org;
> > Linux-Renesas ; linux-arm-
> > ker...@lists.infradead.org
> > Subject: Re: [PATCH 1/2] ARM: dts: iwg20d-q7: Add RTC support
> >
> > On Tue, Aug 8, 2017 at 3:04 PM, Biju Das  wrote:
> > > Define the iWave RainboW-G20D-Qseven board dependent part of the RTC
> > > device node.
> > >
> > > Signed-off-by: Biju Das 
> >
> > > @@ -54,3 +59,16 @@
> > > micrel,led-mode = <1>;
> > > };
> > >  };
> > > +
> > > + {
> > > +   pinctrl-0 = <_pins>;
> > > +   pinctrl-names = "default";
> > > +
> > > +   status = "okay";
> > > +   clock-frequency = <40>;
> > > +
> > > +   rtc@68 {
> > > +   compatible = "bq32000";
> >
> > "ti,bq32000"
> 
> Thanks. I will change this.

Thanks, I have dropped this patch for now.
Please submit a v2.


Re: [PATCH ] dt-bindings: net: ravb : Add support for r8a7745 SoC

2017-08-15 Thread Sergei Shtylyov

On 08/15/2017 05:40 PM, Biju Das wrote:


Add a new compatible string for the RZ/G1E (R8A7745) SoC.

Signed-off-by: Biju Das 


Acked-by: Sergei Shtylyov 

[...]

MBR, Sergei


Re: [PATCH v2 1/3] ARM: dts: r8a7790: Use R-Car SATA Gen2 fallback compat string

2017-08-15 Thread Simon Horman
On Mon, Aug 14, 2017 at 03:57:59PM +0200, Geert Uytterhoeven wrote:
> On Wed, Aug 9, 2017 at 10:26 AM, Simon Horman
>  wrote:
> > Use newly added R-Car SATA Gen2 fallback compat string
> > in the DT of the r8a7790 SoC.
> >
> > This should have no run-time effect as the driver matches against
> > the per-SoC compat string before the fallback compat string is considered.
> >
> > Signed-off-by: Simon Horman 
> 
> Reviewed-by: Geert Uytterhoeven 

Thanks. I have applied this and the other two patches in this series
with your Acks.


[PATCH ] dt-bindings: net: ravb : Add support for r8a7745 SoC

2017-08-15 Thread Biju Das
Add a new compatible string for the RZ/G1E (R8A7745) SoC.

Signed-off-by: Biju Das <biju@bp.renesas.com>
---
This patch is tested against linux-next tag next-20170815
as well as net-next.

 Documentation/devicetree/bindings/net/renesas,ravb.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/net/renesas,ravb.txt 
b/Documentation/devicetree/bindings/net/renesas,ravb.txt
index 4717bc2..1672353 100644
--- a/Documentation/devicetree/bindings/net/renesas,ravb.txt
+++ b/Documentation/devicetree/bindings/net/renesas,ravb.txt
@@ -6,6 +6,7 @@ interface contains.
 Required properties:
 - compatible: Must contain one or more of the following:
   - "renesas,etheravb-r8a7743" for the R8A7743 SoC.
+  - "renesas,etheravb-r8a7745" for the R8A7745 SoC.
   - "renesas,etheravb-r8a7790" for the R8A7790 SoC.
   - "renesas,etheravb-r8a7791" for the R8A7791 SoC.
   - "renesas,etheravb-r8a7792" for the R8A7792 SoC.
-- 
1.9.1



Re: [PATCH V3 1/2] mfd: Add ROHM BD9571MWV-M PMIC DT bindings

2017-08-15 Thread Lee Jones
On Tue, 02 May 2017, Marek Vasut wrote:

> Add DT bindings for the ROHM BD9571MWV-M PMIC. This PMIC has
> the following features:
> - multiple voltage monitors for 1V8, 2V5, 3V3 voltage rail
> - one voltage regulator for DVFS
> - two GPIOs
> 
> Signed-off-by: Marek Vasut 
> Cc: devicet...@vger.kernel.org
> Cc: Rob Herring 
> Cc: Geert Uytterhoeven 
> Cc: linux-renesas-soc@vger.kernel.org
> Acked-by: Rob Herring 
> ---
> V2: - Drop the compatible = "regulator-fixed" from the binding example,
>   it should not be there.
> - List the VD09 regulator
> V3: Replace bd9571@30 with pmic@30
> ---
>  .../devicetree/bindings/mfd/bd9571mwv.txt  | 49 
> ++
>  1 file changed, 49 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/bd9571mwv.txt

Applied, thanks.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog


[PATCH 2/2] drm: rcar-du: Don't set connector DPMS property

2017-08-15 Thread Laurent Pinchart
Since commit 4a97a3da420b ("drm: Don't update property values for atomic
drivers") atomic drivers must not update property values as properties
are read from the state instead. To catch remaining users, the
drm_object_property_set_value() function now throws a warning when
called by atomic drivers on non-immutable properties, and we hit that
warning when creating connectors.

The easy fix is to just remove the drm_object_property_set_value() as it
is used here to set the initial value of the connector's DPMS property
to OFF. The DPMS property applies on top of the connector's state crtc
pointer (initialized to NULL) that is the main connector on/off control,
and should thus default to ON.

Fixes: 4a97a3da420b ("drm: Don't update property values for atomic drivers")
Signed-off-by: Laurent Pinchart 
---
 drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c | 4 
 1 file changed, 4 deletions(-)

This patch fixes a regression in drm-next and should be merged in v4.14-rc1.

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c 
b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
index b373ad48ef5f..e96f2df0c305 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
@@ -79,10 +79,6 @@ int rcar_du_lvds_connector_init(struct rcar_du_device *rcdu,
 
drm_connector_helper_add(connector, _helper_funcs);
 
-   connector->dpms = DRM_MODE_DPMS_OFF;
-   drm_object_property_set_value(>base,
-   rcdu->ddev->mode_config.dpms_property, DRM_MODE_DPMS_OFF);
-
ret = drm_mode_connector_attach_encoder(connector, encoder);
if (ret < 0)
return ret;
-- 
Regards,

Laurent Pinchart



[PATCH 2/2] ARM: dts: iwg22d-sodimm: Add support for iWave G22D-SODIMM board

2017-08-15 Thread Biju Das
Add support for iWave RainboW-G22D-SODIMM board based on RZ/G1E.

Signed-off-by: Biju Das 
---
 arch/arm/boot/dts/Makefile  |  1 +
 arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts | 29 +
 2 files changed, 30 insertions(+)
 create mode 100644 arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4b17f35..51641d4 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -715,6 +715,7 @@ dtb-$(CONFIG_ARCH_RENESAS) += \
r8a7740-armadillo800eva.dtb \
r8a7743-iwg20d-q7.dtb \
r8a7743-sk-rzg1m.dtb \
+   r8a7745-iwg22d-sodimm.dtb \
r8a7745-sk-rzg1e.dtb \
r8a7778-bockw.dtb \
r8a7779-marzen.dtb \
diff --git a/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts 
b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts
new file mode 100644
index 000..cbc19fe
--- /dev/null
+++ b/arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts
@@ -0,0 +1,29 @@
+/*
+ * Device Tree Source for the iWave-RZG1E SODIMM carrier board
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+/dts-v1/;
+#include "r8a7745-iwg22m.dtsi"
+
+/ {
+   model = "iWave Systems RainboW-G22D-SODIMM board based on RZ/G1E";
+   compatible = "iwave,g22d", "iwave,g22m", "renesas,r8a7745";
+
+   aliases {
+   serial0 = 
+   };
+
+   chosen {
+   stdout-path = "serial0:115200n8";
+   };
+};
+
+ {
+   status = "okay";
+};
-- 
1.9.1



[PATCH 0/2] ARM: dts: Add iWave RZ/G1E board support

2017-08-15 Thread Biju Das
Hello,

This series aims to add iWave RZ/G1E (R8A7745) based RainboW-G22M-SM SODIMM 
SoM and RainboW-G22D board support. 

This series has been tested against linux-next tag next-20170815 as well as
renesas-dev tag 20170814-v4.13-rc5

This patch has documentation dependency on below patches

[repost,1/2] ARM: shmobile: document iW-RainboW-G22M-SM SODIMM System on Module
https://patchwork.kernel.org/patch/9890389/
[repost, 2/2] ARM: shmobile: document iW-RainboW-G22D SODIMM SOM Development 
Platform
https://patchwork.kernel.org/patch/9890391/


Regards,

Biju Das (2):
  ARM: dts: iwg22m: Add iWave RZG1E SODIMM SOM
  ARM: dts: iwg22d-sodimm: Add support for iWave G22D-SODIMM board

 arch/arm/boot/dts/Makefile  |  1 +
 arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts | 29 +
 arch/arm/boot/dts/r8a7745-iwg22m.dtsi   | 24 
 3 files changed, 54 insertions(+)
 create mode 100644 arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts
 create mode 100644 arch/arm/boot/dts/r8a7745-iwg22m.dtsi

-- 
1.9.1



[PATCH 1/2] ARM: dts: iwg22m: Add iWave RZG1E SODIMM SOM

2017-08-15 Thread Biju Das
Add support for iWave RZG1E SODIMM System On Module.
http://www.iwavesystems.com/rz-g1e-sodimm-module.html

Signed-off-by: Biju Das 
---
 arch/arm/boot/dts/r8a7745-iwg22m.dtsi | 24 
 1 file changed, 24 insertions(+)
 create mode 100644 arch/arm/boot/dts/r8a7745-iwg22m.dtsi

diff --git a/arch/arm/boot/dts/r8a7745-iwg22m.dtsi 
b/arch/arm/boot/dts/r8a7745-iwg22m.dtsi
new file mode 100644
index 000..9dbd854
--- /dev/null
+++ b/arch/arm/boot/dts/r8a7745-iwg22m.dtsi
@@ -0,0 +1,24 @@
+/*
+ * Device Tree Source for the iWave-RZG1E-G22M SODIMM SOM
+ *
+ * Copyright (C) 2017 Renesas Electronics Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2.  This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "r8a7745.dtsi"
+
+/ {
+   compatible = "iwave,g22m", "renesas,r8a7745";
+
+   memory@4000 {
+   device_type = "memory";
+   reg = <0 0x4000 0 0x2000>;
+   };
+};
+
+_clk {
+   clock-frequency = <2000>;
+};
-- 
1.9.1



Re: [PATCH 1/3] ARM: dts: r8a7745: add PFC support

2017-08-15 Thread Sergei Shtylyov

On 8/15/2017 11:47 AM, Chris Paterson wrote:


Define the generic R8A7745 part of the PFC device node.

Signed-off-by: Sergei Shtylyov 


Reviewed-by: Geert Uytterhoeven 


It looks like the dependencies for this patch are met now [1].

Are you happy to accept this patch? (and presumably the others in the series 
for the sk-rzg1e board).

We plan to add GPIO support for r8a7745, but need this patch in place first.


[1] https://patchwork.kernel.org/patch/9705249/


   Actually, R8A774x PFC support has hit the Linus' tree in the meanwhile.
Simon, please merge the .dts patches.


Kind regards, Chris


MBR, Sergei


Re: [PATCH v2 3/3] usb: gadget: udc: renesas_usb3: add support for R-Car M3-W

2017-08-15 Thread Felipe Balbi

Hi,

Rob Herring  writes:
> On Fri, Aug 04, 2017 at 11:16:58AM +0900, Yoshihiro Shimoda wrote:
>> This patch adds support for R-Car M3-W. This patch also adds R-Car
>> Gen3 generic version's compatible and changes ".compatible" in
>> the usb3_of_match from "renesas,r8a7796-usb3-peri" to
>> "renesas,rcar-gen3-usb3-peri".
>> 
>> Signed-off-by: Yoshihiro Shimoda 
>> ---
>>  Documentation/devicetree/bindings/usb/renesas_usb3.txt | 16 +---
>>  drivers/usb/gadget/udc/renesas_usb3.c  |  2 +-
>>  2 files changed, 14 insertions(+), 4 deletions(-)
>
> Binding looks fine, but...
>
>> diff --git a/drivers/usb/gadget/udc/renesas_usb3.c 
>> b/drivers/usb/gadget/udc/renesas_usb3.c
>> index aa2b185..b1e166c 100644
>> --- a/drivers/usb/gadget/udc/renesas_usb3.c
>> +++ b/drivers/usb/gadget/udc/renesas_usb3.c
>> @@ -2503,7 +2503,7 @@ static void renesas_usb3_init_ram(struct renesas_usb3 
>> *usb3, struct device *dev,
>>  
>>  static const struct of_device_id usb3_of_match[] = {
>>  {
>> -.compatible = "renesas,r8a7795-usb3-peri",
>> +.compatible = "renesas,rcar-gen3-usb3-peri",
>
> You need to keep the existing string for compatibility with existing 
> dtbs.

I've fixed it up locally:

diff --git a/drivers/usb/gadget/udc/renesas_usb3.c 
b/drivers/usb/gadget/udc/renesas_usb3.c
index ff69f4645b7c..16ceb445bee8 100644
--- a/drivers/usb/gadget/udc/renesas_usb3.c
+++ b/drivers/usb/gadget/udc/renesas_usb3.c
@@ -2512,6 +2512,10 @@ static const struct of_device_id usb3_of_match[] = {
.compatible = "renesas,r8a7795-usb3-peri",
.data = _usb3_priv_gen3,
},
+   {
+   .compatible = "renesas,rcar-gen3-usb3-peri",
+   .data = _usb3_priv_gen3,
+   },
{ },
 };
 MODULE_DEVICE_TABLE(of, usb3_of_match);


-- 
balbi


signature.asc
Description: PGP signature


RE: [PATCH 1/3] ARM: dts: r8a7745: add PFC support

2017-08-15 Thread Chris Paterson
Hello Simon,

> From: linux-renesas-soc-ow...@vger.kernel.org [mailto:linux-renesas-soc-
> ow...@vger.kernel.org] On Behalf Of Geert Uytterhoeven
> Sent: 20 April 2017 15:09
> To: Sergei Shtylyov 
> Cc: Simon Horman ; Rob Herring
> ; Mark Rutland ; Linux-
> Renesas ; devicet...@vger.kernel.org;
> Magnus Damm ; Russell King
> ; linux-arm-ker...@lists.infradead.org
> Subject: Re: [PATCH 1/3] ARM: dts: r8a7745: add PFC support
> 
> On Sat, Apr 15, 2017 at 10:18 PM, Sergei Shtylyov
>  wrote:
> > Define the generic R8A7745 part of the PFC device node.
> >
> > Signed-off-by: Sergei Shtylyov 
> 
> Reviewed-by: Geert Uytterhoeven 

It looks like the dependencies for this patch are met now [1].

Are you happy to accept this patch? (and presumably the others in the series 
for the sk-rzg1e board).

We plan to add GPIO support for r8a7745, but need this patch in place first.


[1] https://patchwork.kernel.org/patch/9705249/

Kind regards, Chris