pipeline") == 0) {
> ret = komeda_parse_pipe_dt(mdev, child);
> @@ -292,6 +299,8 @@ void komeda_dev_destroy(struct komeda_dev *mdev)
>
> mdev->n_pipelines = 0;
>
> + of_reserved_mem_device_release(dev);
Hi Mihail:
On Fri, Aug 02, 2019 at 10:40:19PM +0800, Mihail Atanassov wrote:
> The 'memory-region' property of the komeda display driver DT binding
> allows the use of a 'reserved-memory' node for buffer allocations. Add
> the requisite of_reserved_mem_device_{init,release} calls to actually
>
DA_ERROR_PRINT;
> > 2. Changing the max string size to 256.
> >
> > Signed-off-by: Lowry Li (Arm Technology China)
>
> Reviewed-by: Mihail Atanassov
>
> BR,
> Mihail
looks good to me.
Reviewed-by: James Qian Wang (Arm Technology China)
>
> > ---
&g
On Fri, Aug 02, 2019 at 05:29:20PM +0800, Brian Starkey wrote:
> Hi Lowry,
>
> On Thu, Aug 01, 2019 at 06:34:08AM +, Lowry Li (Arm Technology China)
> wrote:
> > Hi Brian,
> >
> > On Wed, Jul 31, 2019 at 09:20:04PM +0800, Brian Starkey wrote:
> > > Hi Lowry,
> > >
> > > Thanks for this
On Fri, Jul 19, 2019 at 11:40:11AM +, Liviu Dudau wrote:
> On Fri, Jul 19, 2019 at 09:09:30AM +, Lowry Li (Arm Technology China)
> wrote:
> > Hi Liviu,
> >
> > On Thu, Jul 18, 2019 at 01:17:37PM +, Liviu Dudau wrote:
> > > On Thu, Jun 27, 2019 at 04:10:36AM +0100, Lowry Li (Arm
ion ofc.
>
> Fixes: a407a6509393 ("drm/komeda: Add layer split support")
> Cc: Lowry Li (Arm Technology China)
> Cc: James Qian Wang (Arm Technology China)
> Cc: Liviu Dudau
> Cc: Mali DP Maintainers
> Cc: Brian Starkey
> Signed-off-by: Daniel Vetter
Hi Daniel:
rint_state to dump such hidden driver-private state.
> Depends upon how you do your validation ofc.
>
> Fixes: 42b6f118f6d1 ("drm/komeda: Add image enhancement support")
> Cc: Lowry Li (Arm Technology China)
> Cc: James Qian Wang (Arm Technology China)
> Cc: Liviu
; kms objects already, see the various atomic_print_state callbacks
> and infrastructure around them.
>
> Fixes: 1f7f9ab7900e ("drm/komeda: Add engine clock requirement check for the
> downscaling")
> Cc: Lowry Li (Arm Technology China)
> Cc: James Qian Wang (Arm T
eeded for validation, again ->atomic_print_state and the
> infrastructure around that is your friend.
>
> Fixes: 3b9dfa4ef28c ("drm/komeda: Add slave pipeline support")
> Cc: Lowry Li (Arm Technology China)
> Cc: James Qian Wang (Arm Technology China)
> Cc: Liviu
D32 is simple version of D71, the difference is:
- Only has one pipeline
- Drop the periph block and merge it to GCU
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../drm/arm/display/include/malidp_product.h | 3 +-
.../arm/display/komeda/d71/d71_component.c| 2 +-
.../gpu
-by: James Qian Wang (Arm Technology China)
---
.../gpu/drm/arm/display/komeda/d71/d71_dev.c | 27 ++--
.../gpu/drm/arm/display/komeda/komeda_dev.c | 62 ++-
.../gpu/drm/arm/display/komeda/komeda_dev.h | 14 +
.../gpu/drm/arm/display/komeda/komeda_drv.c | 9 +--
4
This series enables new product "D32" support
James Qian Wang (Arm Technology China) (2):
drm/komeda: Update the chip identify
drm/komeda: Enable new product D32 support
.../drm/arm/display/include/malidp_product.h | 3 +-
.../arm/display/komeda/d71/d71_component.c| 2 +-
.
On Fri, Jul 05, 2019 at 02:25:46PM +0200, Daniel Vetter wrote:
> On Fri, Jul 05, 2019 at 11:44:45AM +0000, james qian wang (Arm Technology
> China) wrote:
> > For layer_split:
> > Enable it if the scaling exceed the accept range of scaler.
> >
> > For image_enhancer
Enable image enhancer when the input data flow is 2x+ upscaling.
Signed-off-by: james qian wang (Arm Technology China)
---
drivers/gpu/drm/arm/display/komeda/komeda_kms.h| 7 ++-
drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c | 4
drivers/gpu/drm/arm/display
For layer_split no need user to enable/disable it, but compute it in
komeda internally, komeda will enable it if the scaling exceed the
acceptable range of scaler.
Signed-off-by: james qian wang (Arm Technology China)
---
drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h | 3 ++-
.../drm
On Fri, Jul 05, 2019 at 02:23:48PM +0200, Daniel Vetter wrote:
> On Fri, Jul 05, 2019 at 11:44:16AM +0000, james qian wang (Arm Technology
> China) wrote:
> > Since the property slave_planes have been removed, to avoid the resource
> > assignment problem in user disable slav
Enable image enhancer when the input data flow is 2x+ upscaling.
Signed-off-by: james qian wang (Arm Technology China)
---
drivers/gpu/drm/arm/display/komeda/komeda_kms.h| 7 ++-
drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c | 4
drivers/gpu/drm/arm/display
For layer_split no need user to enable/disable it, but compute it in
komeda internally, komeda will enable it if the scaling exceed the
acceptable range of scaler.
Signed-off-by: james qian wang (Arm Technology China)
---
drivers/gpu/drm/arm/display/komeda/komeda_pipeline.h | 3 ++-
.../drm
er arm contributors have it already I think).
> >
> > Cc: Lowry Li (Arm Technology China)
> > Cc: James Qian Wang (Arm Technology China)
> > Cc: Liviu Dudau
>
> Acked-by: Liviu Dudau
Acked-by: James Qian Wang (Arm Technology China)
> > Cc: Mali DP
On Fri, Jul 05, 2019 at 09:23:20AM +0200, Daniel Vetter wrote:
> On Thu, Jul 4, 2019 at 5:41 PM Brian Starkey wrote:
> >
> > Hi,
> >
> > On Thu, Jul 04, 2019 at 11:57:00AM +0100, james qian wang (Arm Technology
> > China) wrote:
> > > On Wed, Jul 03, 201
On Thu, Jul 04, 2019 at 11:41:38PM +0800, Brian Starkey wrote:
> Hi,
>
> On Thu, Jul 04, 2019 at 11:57:00AM +0100, james qian wang (Arm Technology
> China) wrote:
> > On Wed, Jul 03, 2019 at 12:01:49PM +0200, Daniel Vetter wrote:
> > >
> > > Uh, what ex
For layer_split:
Enable it if the scaling exceed the accept range of scaler.
For image_enhancer:
Enable it if the scaling is a 2x+ scaling
Signed-off-by: james qian wang (Arm Technology China)
---
.../gpu/drm/arm/display/komeda/komeda_pipeline.h | 3 ++-
.../arm/display/komeda
Since the property slave_planes have been removed, to avoid the resource
assignment problem in user disable slave pipeline support temporarily.
Signed-off-by: james qian wang (Arm Technology China)
---
drivers/gpu/drm/arm/display/komeda/komeda_crtc.c | 2 +-
1 file changed, 1 insertion(+), 1
On Wed, Jul 03, 2019 at 12:01:49PM +0200, Daniel Vetter wrote:
> On Wed, Jul 03, 2019 at 07:26:16AM +, Lowry Li (Arm Technology China)
> wrote:
> > Adds a new drm property "vrr" and "vrr_enable" and implemented
> > the set/get functions, through which userspace could set vfp
> > data to
In side by side mode, a writeback job is completed by two pipelines: left
by master and right by slave, we need to wait both pipeline finished (EOW),
then can signal the writeback job completion.
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../gpu/drm/arm/display/komeda
There are some restrictions if HW works on side_by_side, expose it by
config_id to user for taking care them.
Signed-off-by: James Qian Wang (Arm Technology China)
---
drivers/gpu/drm/arm/display/include/malidp_product.h | 3 ++-
drivers/gpu/drm/arm/display/komeda/komeda_dev.c | 1 +
2
In side by side mode, the master pipeline writeback the left frame and the
slave writeback the right part, the data flow as below:
slave.compiz -> slave.wb_layer -> fb (right-part)
master.compiz -> master.wb_layer -> fb (left-part)
Signed-off-by: James Qian Wang (Arm Tech
For side by side, the slave pipeline merges to master via image processor
slave-layers -> slave-compiz-> slave-improc-
\
master-layers -> master-compiz -> master-improc ->
Signed-off-by: James Qian Wang (Arm T
\ /-> output-link0
master.layer0 ->\ /-> master.improcessor ->\-> output-link1
... -> master.compiz ->
master.layer3 ->/ \-> master.wb_layer -> mem.fb.left_part
Depends on:
- https://patchwork.freedesktop.org/series/622
both, but slave plane only can use the slave pipeline resources.
With such scheme, the usage of master planes are same as the none
side_by_side mode. user can easily skip the slave planes and no need to
consider side_by_side for them.
Signed-off-by: James Qian Wang (Arm Technology China
omeda need to verify it with HW's
configuration, and assemble it for the further usage.
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../gpu/drm/arm/display/komeda/komeda_crtc.c | 9 +++-
.../gpu/drm/arm/display/komeda/komeda_dev.c | 3 ++
.../gpu/drm/arm/display/komeda/komeda_dev.h |
There are some restrictions if HW works on side_by_side, expose it by
config_id to user for taking care them.
Signed-off-by: James Qian Wang (Arm Technology China)
---
drivers/gpu/drm/arm/display/include/malidp_product.h | 3 ++-
drivers/gpu/drm/arm/display/komeda/komeda_dev.c | 1 +
2
For side by side, the slave pipeline merges to master via image processor
slave-layers -> slave-compiz-> slave-improc-
\
master-layers -> master-compiz -> master-improc ->
Signed-off-by: James Qian Wang (Arm T
In side by side mode, a writeback job is completed by two pipelines: left
by master and right by slave, we need to wait both pipeline finished (EOW),
then can signal the writeback job completion.
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../gpu/drm/arm/display/komeda
In side by side mode, the master pipeline writeback the left frame and the
slave writeback the right part, the data flow as below:
slave.compiz -> slave.wb_layer -> fb (right-part)
master.compiz -> master.wb_layer -> fb (left-part)
Signed-off-by: James Qian Wang (Arm Tech
nk1
... -> master.compiz ->
master.layer3 ->/\-> master.wb_layer -> fb.right_part
Depends on:
- https://patchwork.freedesktop.org/series/62280/
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../gpu/drm/arm/display/komeda/komeda_crtc.c | 9 ++
both, but slave plane only can use the slave pipeline resources.
With such scheme, the usage of master planes are same as the none
side_by_side mode. user can easily skip the slave planes and no need to
consider side_by_side for them.
Signed-off-by: James Qian Wang (Arm Technology China
Komeda HW can support side by side, which splits the internal display
processing to two single halves (LEFT/RIGHT) and handle them by two
pipelines separately.
James Qian Wang (Arm Technology China) (6):
drm/komeda: Add side by side assembling
drm/komeda: Add side by side plane_state split
komeda_str str;
> +
> + str.str = msg;
> + str.sz = STR_SZ;
> + str.len = 0;
> +
> + komeda_sprintf(, "gcu: ");
> + evt_str(, evts->global);
> + komeda_sprintf(, ", pipes[0]: ");
> + evt_str(, evts->pipes[0]);
> + komeda_sprintf(, ", pipes[1]: ");
> + evt_str(, evts->pipes[1]);
> +
> + DRM_ERROR("err detect: %s\n", msg);
> +
> + en_print = false;
> + }
> +}
> diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
> b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
> index 647bce5..1462bac 100644
> --- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
> +++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.c
> @@ -47,6 +47,8 @@ static irqreturn_t komeda_kms_irq_handler(int irq, void
> *data)
> memset(, 0, sizeof(evts));
> status = mdev->funcs->irq_handler(mdev, );
>
> + komeda_print_events();
> +
> /* Notify the crtc to handle the events */
> for (i = 0; i < kms->n_crtcs; i++)
> komeda_crtc_handle_event(>crtcs[i], );
> --
> 1.9.1
>
Looks good to me.
Reviewed-by: James Qian Wang (Arm Technology China)
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
; struct block_header *blk, u32 __iomem *reg);
> void d71_read_block_header(u32 __iomem *reg, struct block_header *blk);
>
> +void d71_dump(struct komeda_dev *mdev, struct seq_file *sf);
> +
> #endif /* !_D71_DEV_H_ */
> diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_dev.c
> b/drivers/gpu/drm/arm/display/komeda/komeda_dev.c
> index 4218d6e..85b8604 100644
> --- a/drivers/gpu/drm/arm/display/komeda/komeda_dev.c
> +++ b/drivers/gpu/drm/arm/display/komeda/komeda_dev.c
> @@ -23,6 +23,8 @@ static int komeda_register_show(struct seq_file *sf, void
> *x)
> struct komeda_dev *mdev = sf->private;
> int i;
>
> + seq_printf(sf, "\n== Komeda register dump =\n");
> +
> if (mdev->funcs->dump_register)
> mdev->funcs->dump_register(mdev, sf);
>
> --
> 1.9.1
>
Looks good to me.
Reviewed-by: James Qian Wang (Arm Technology China)
_KMS("afbc size check failed, obj_size: 0x%lx. min_size 0x%x.\n",
That leads by misuse "%lx" as format speicifier for size_t, correct it
to "%zx"
Reported-by: kbuild test robot
Signed-off-by: james qian wang (Arm Technology China)
---
.../gpu/drm/arm/display/komeda/ko
struct drm_display_mode contains two copies of timings.
- plain timings.
- hardware timings, the ones with "crtc_" prefix.
According to the definition, update komeda to use the hardware timing.
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_c
remote-endpoint = <_connector_in0>;
};
dp0_pipe0_link1: endpoint@1 {
reg = <1>;
remote-endpoint = <_connector_in1>;
};
};
};
James Qian Wang (Arm Technol
remote-endpoint = <_connector_in0>;
};
dp0_pipe0_link1: endpoint@1 {
reg = <1>;
remote-endpoint = <_connector_in1>;
};
};
};
Signed-off-by: James Qian
is not
> used anywhere.
>
> Signed-off-by: Ayan Kumar halder
> ---
> drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 16 +---
> 1 file changed, 9 insertions(+), 7 deletions(-)
>
> --
> 2.21.0
> Reviewed-by: Liviu Dudau
>
looks good to me.
Thank you
On Tue, Jun 18, 2019 at 12:41:32PM +0800, James (Qian) Wang wrote:
> On Mon, Jun 17, 2019 at 03:43:45PM +0200, Daniel Vetter wrote:
> > On Mon, Jun 17, 2019 at 06:26:08AM +0000, james qian wang (Arm Technology
> > China) wrote:
> > > On Fri, Jun 14, 2019 at 10:35:23PM +0
On Mon, Jun 17, 2019 at 03:43:45PM +0200, Daniel Vetter wrote:
> On Mon, Jun 17, 2019 at 06:26:08AM +0000, james qian wang (Arm Technology
> China) wrote:
> > On Fri, Jun 14, 2019 at 10:35:23PM +0200, Daniel Vetter wrote:
> > > Read the docs, komeda is not
do_div(aclk, pxlclk);
> - kcrtc_st->clock_ratio = aclk;
> + kcrtc_st->clock_ratio = div64_u64(aclk << 32, pxlclk);
> }
>
> /**
> --
> 2.20.0
Hi Arnd:
Thank you for the patch.
Reviewed-by: James Qian Wang (Arm Technology China)
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
: %zd lower than the
> minimum requirement: %d.\n",
> i, obj->size, min_size);
> return -EINVAL;
> }
> --
> 2.20.0
Hi Arnd:
Thank you for the patch.
Reviewed-by: James Qian Wang (Arm Technology China)
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Fri, Jun 14, 2019 at 10:35:23PM +0200, Daniel Vetter wrote:
> Read the docs, komeda is not an old enough driver for this :-)
>
> Signed-off-by: Daniel Vetter
> Cc: "James (Qian) Wang"
> Cc: Liviu Dudau
> ---
> drivers/gpu/drm/arm/display/komeda/komeda_kms.c | 3 +--
> 1 file changed, 1
e = drm_gem_prime_fd_to_handle,
> - .gem_prime_export = drm_gem_prime_export,
> - .gem_prime_import = drm_gem_prime_import,
> .gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table,
> .gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table,
> .gem_prime_vmap = drm_gem_cma_prime_
e("register", 0444, mdev->debugfs_root,
> mdev, _register_fops);
> }
> --
> 2.22.0
Hi Greg;
Thank you for helping to fix this problem.
Reviewed-by: James Qian Wang (Arm Technology China)
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Fri, Jun 14, 2019 at 09:01:11AM +0200, Daniel Vetter wrote:
> On Fri, Jun 14, 2019 at 05:46:04AM +0000, james qian wang (Arm Technology
> China) wrote:
> > On Thu, Jun 13, 2019 at 04:30:08PM +0200, Daniel Vetter wrote:
> > > On Thu, Jun 13, 2019 at 02:24:37PM +01
On Thu, Jun 13, 2019 at 10:17:27AM +0200, Daniel Vetter wrote:
> > > > > On Wed, Jun 12, 2019 at 02:26:24AM +0000, james qian wang (Arm
> > > > > Technology China) wrote:
> > > > > > On Tue, Jun 11, 2019 at 02:30:38PM +0200, Daniel Vette
e_zorder: %d.\n",
> + st->plane->name, st->normalized_zpos,
> + kcrtc_st->max_slave_zorder);
> + return -EINVAL;
> + }
> +
> dflow->pixel_blend_mode = st->pixel_blend_mode;
> dflow->layer_alpha = st->alpha >> 8;
>
> @@ -88,7 +100,7 @@
>
> kcrtc_st = to_kcrtc_st(crtc_st);
>
> - err = komeda_plane_init_data_flow(state, );
> + err = komeda_plane_init_data_flow(state, kcrtc_st, );
> if (err)
> return err;
>
> @@ -288,6 +300,22 @@ static u32 get_possible_crtcs(struct komeda_kms_dev *kms,
> return possible_crtcs;
> }
>
> +static void
> +komeda_set_crtc_plane_mask(struct komeda_kms_dev *kms,
> +struct komeda_pipeline *pipe,
> +struct drm_plane *plane)
> +{
> + struct komeda_crtc *kcrtc;
> + int i;
> +
> + for (i = 0; i < kms->n_crtcs; i++) {
> + kcrtc = >crtcs[i];
> +
> + if (pipe == kcrtc->slave)
> + kcrtc->slave_planes |= BIT(drm_plane_index(plane));
> + }
> +}
> +
> /* use Layer0 as primary */
> static u32 get_plane_type(struct komeda_kms_dev *kms,
> struct komeda_component *c)
> @@ -366,6 +394,8 @@ static int komeda_plane_add(struct komeda_kms_dev *kms,
> if (err)
> goto cleanup;
>
> + komeda_set_crtc_plane_mask(kms, c->pipeline, plane);
> +
> return 0;
> cleanup:
> komeda_plane_destroy(plane);
Looks good to me.
Reviewed-by: James Qian Wang (Arm Technology China)
pipeline of writeback split as below:
/-> scaler-0 ->\
compiz -> splittermerger -> wb_layer -> memory
\-> scaler-1 ->/
v2: Rebase
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../drm/arm/display/komeda/kom
Similar to Layer Split, but Splitter is used for writeback, which splits
the compiz result to two half parts and then feed them to two scalers.
v2: Rebase
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_component.c| 63 +++
.../drm
series/60856/
- https://patchwork.freedesktop.org/series/61079/
- https://patchwork.freedesktop.org/series/61081/
v2: Rebase
james qian wang (Arm Technology China) (2):
drm/komeda: Add new component komeda_splitter
drm/komeda: Enable writeback split support
.../arm/display/komeda/d71/d71
On Tue, Jun 11, 2019 at 02:30:38PM +0200, Daniel Vetter wrote:
> On Tue, Jun 11, 2019 at 11:13:45AM +, Lowry Li (Arm Technology China)
> wrote:
> > From: "Lowry Li (Arm Technology China)"
> >
> > The komeda internal resources (pipelines) are shared between crtcs,
> > and resources release by
data flow to compiz.
Komeda handles the split in kernel completely to hide the detailed and
complicated split calcualtion to user mode, for user only need to set the
layer_split property to enable/disable it.
v2: Rebase
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../gpu/drm/arm
g/series/60838/
v2: Rebase and addressed Liviu's comments
james qian wang (Arm Technology China) (3):
drm/komeda: Add component komeda_merger
drm/komeda: Add split support for scaler
drm/komeda: Add layer split support
.../arm/display/komeda/d71/d71_component.c| 121 ++-
...
- Report and initialize komeda_merger according to the D71 HW.
v2: Rebase
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_component.c| 74 +++
.../drm/arm/display/komeda/komeda_pipeline.c | 3 +
.../drm/arm/display/komeda/komeda_pipeline.h
s comments
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_component.c| 47 +--
.../drm/arm/display/komeda/komeda_pipeline.h | 19 ++--
.../display/komeda/komeda_pipeline_state.c| 18 ++-
.../gpu/drm/arm/display/komeda/komeda_pl
On Fri, Jun 07, 2019 at 05:46:36PM +0800, Liviu Dudau wrote:
> Hi James,
>
> On Mon, May 20, 2019 at 11:44:47AM +0100, james qian wang (Arm Technology
> China) wrote:
> > To achieve same caling effect compare with none split, the texel
> > calculation need to use the s
return ret;
> }
>
> static void d71_flush(struct komeda_dev *mdev,
> @@ -304,7 +304,7 @@ static int d71_reset(struct d71_dev *d71)
> ret = dp_wait_cond(!(malidp_read32(gcu, BLK_CONTROL) &
> GCU_CONTROL_SRST),
> 100, 1000, 10000);
>
> - r
To avoid confusion, unify the driver main engine clk name "mclk" to
the spec name "aclk".
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_component.c| 10 +++---
.../gpu/drm/arm/display/komeda/komeda_crtc.c | 34 +---
e 0: output pixel clock for pipeline 0
- PXCLK for pipeline 1: output pixel clock for pipeline 1
So one ACLK is enough, no need to split it to three mclk/pclk/axiclk.
drop pclk/pipeline->axiclk. but only keep one mclk in komeda driver.
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../g
e 0: output pixel clock for pipeline 0
- PXCLK for pipeline 1: output pixel clock for pipeline 1
So one ACLK is enough, no need to split it to three mclk/pclk/axiclk.
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../devicetree/bindings/display/arm,komeda.txt | 16 +++-
1 f
tps://patchwork.freedesktop.org/series/60893/
- https://patchwork.freedesktop.org/series/61370/
- https://patchwork.freedesktop.org/series/61379/
James Qian Wang (Arm Technology China) (3):
drm/komeda: Unify mclk/pclk/pipeline->aclk to one MCLK
drm/komeda: Rename main engine clk name "mclk" to "acl
Similar to Layer Split, but Splitter is used for writeback, which splits
the compiz result to two half parts and then feed them to two scalers.
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_component.c| 63 +++
.../drm/arm/display
pipeline of writeback split as below:
/-> scaler-0 ->\
compiz -> splittermerger -> wb_layer -> memory
\-> scaler-1 ->/
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../drm/arm/display/komeda/kom
series/60856/
- https://patchwork.freedesktop.org/series/60893/
- https://patchwork.freedesktop.org/series/61370/
James Qian Wang (Arm Technology China) (2):
drm/komeda: Add new component komeda_splitter
drm/komeda: Enable writeback split support
.../arm/display/komeda/d71/d71_component.c| 6
t; + dflow->rot))
> return -EINVAL;
>
> c_st = komeda_component_get_state_and_set_user(_layer->base,
> diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
> b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
> index c9f37ff..798
g_enhancement;
>
> komeda_complete_data_flow_cfg(dflow);
> @@ -303,6 +314,11 @@ static int komeda_plane_add(struct komeda_kms_dev *kms,
>
> drm_plane_helper_add(plane, _plane_helper_funcs);
>
> + err = drm_plane_create_rotation_property(plane, D
On Fri, May 24, 2019 at 03:12:26PM +0300, Ville Syrjälä wrote:
> On Fri, May 24, 2019 at 11:10:09AM +, Brian Starkey wrote:
> > Hi,
> >
> > On Tue, May 21, 2019 at 09:45:58AM +0100, james qian wang (Arm Technology
> > China) wrote:
> > > On Thu, May 16, 2
rm_plane_create_blend_mode_property(plane,
> + BIT(DRM_MODE_BLEND_PIXEL_NONE) |
> + BIT(DRM_MODE_BLEND_PREMULTI) |
> + BIT(DRM_MODE_BLEND_COVERAGE));
> + if (err)
> + goto cleanup;
> +
> err = komeda_plane_create_l
on:
- https://patchwork.freedesktop.org/series/60856/
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../gpu/drm/arm/display/komeda/komeda_wb_connector.c | 11 ++-
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
b
uch check into it.
Simplify the using and avoid problem that caller forget the valid check.
Depends on:
- https://patchwork.freedesktop.org/series/60856/
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_component.c| 32 ++-
1 file changed, 17 i
ement.
v2: Rebase and rename "needs_img_enhancement" to "en_img_enhancement"
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_component.c| 1 +
.../gpu/drm/arm/display/komeda/komeda_kms.h | 6 +-
.../drm/arm/display/komeda/komeda_pi
1. Add scaler to writeback pipeline to enable the writeback scaling support
2. Display HW can not do upscaling for writeback, check it when validate.
v2: Rebase
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../drm/arm/display/komeda/komeda_pipeline.h | 2 ++
.../display/komeda
be supported.
2. Add new property clock ratio which is the ratio of:
(mclk << 32) / pxlclk
then User driver can use this ratio to do the clock check to avoid post
an invalid downscaling to kernel.
v2: Rebase and Delete debug print
Signed-off-by: James Qian Wang (Arm Technology
1. Add scaler component and initialize it according to D71 HW.
2. Implement d71_scaler_update/disable/dump
v2:
- Correct a typo
- Constify component_funcs: d71_scaler_funcs
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_component.c| 131
According to the komeda pipeline configuration, attach scaler to drm as
private object.
v2: Rebase
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/komeda_private_obj.c | 49 +++
1 file changed, 49 insertions(+)
diff --git a/drivers/gpu/drm
on:
- https://patchwork.freedesktop.org/series/59915/
- https://patchwork.freedesktop.org/series/59000/
- https://patchwork.freedesktop.org/series/59000/
v2:
- Rebase and correct typos
- Rename "needs_scaling" to "en_scaling"
- Rename "needs_img_enhancement" to "en_img
scaling support for plane input path (layer input data flow).
v2: Fix a typo, and rename "needs_scaling" to "en_scaling"
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../drm/arm/display/komeda/komeda_pipeline.c | 14 +++
.../drm/arm/display/komeda/kome
tps://patchwork.freedesktop.org/series/59000/
v2: Rebase and addressed Ayan's comments
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_component.c| 39 ++
.../arm/display/komeda/komeda_format_caps.c | 53 +
.../arm/display/komeda/komeda_format_cap
James Qian Wang (Arm Technology China)
---
drivers/gpu/drm/arm/display/komeda/Makefile | 1 +
.../arm/display/komeda/d71/d71_component.c| 90 -
.../gpu/drm/arm/display/komeda/komeda_crtc.c | 15 ++
.../arm/display/komeda/komeda_framebuffer.c | 19 ++
.../gpu/drm/arm/disp
This patch series enabled layer/plane color management for komeda driver
This patch series depends on:
- https://patchwork.freedesktop.org/series/30876/
- https://patchwork.freedesktop.org/series/60856/
James Qian Wang (Arm Technology China) (4):
drm/komeda: Introduce komeda_coeffs_table
- gamma table management and hide the HW difference for komeda-CORE
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/komeda_color_mgmt.c| 126 ++
.../arm/display/komeda/komeda_color_mgmt.h| 32 -
2 files changed, 156 insertions(+), 2
/series/30876/
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_component.c| 64 +++
.../gpu/drm/arm/display/komeda/d71/d71_dev.c | 5 +-
.../gpu/drm/arm/display/komeda/d71/d71_dev.h | 2 +
.../drm/arm/display/komeda/komeda_pipeline.h
DRM_OBJECT_MAX_PROPERTY number 24 is not enough for komeda usage, increase
it to 32 to fit komeda's requirement.
Signed-off-by: James Qian Wang (Arm Technology China)
---
include/drm/drm_mode_object.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/drm
-by: James Qian Wang (Arm Technology China)
---
drivers/gpu/drm/arm/display/komeda/Makefile | 1 +
.../drm/arm/display/komeda/komeda_coeffs.c| 119 ++
.../drm/arm/display/komeda/komeda_coeffs.h| 74 +++
3 files changed, 194 insertions(+)
create mode 100644 drivers
On Thu, May 16, 2019 at 09:57:49PM +0800, Ayan Halder wrote:
> On Thu, Apr 04, 2019 at 12:06:14PM +0100, james qian wang (Arm Technology
> China) wrote:
> > For supporting AFBC:
> > 1. Check if the user requested modifier can be supported by display HW.
> > 2. Check t
Hi Ayan:
Sorry for late.
On Thu, May 16, 2019 at 08:33:45PM +0800, Ayan Halder wrote:
> On Thu, May 16, 2019 at 09:13:27AM +0100, james qian wang (Arm Technology
> China) wrote:
> > Komeda driver uses a individual component to describe the HW's writeback
> > caps, but driv
- Report and initialize komeda_merger according to the D71 HW.
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../arm/display/komeda/d71/d71_component.c| 74 +++
.../drm/arm/display/komeda/komeda_pipeline.c | 3 +
.../drm/arm/display/komeda/komeda_pipeline.h | 18
data flow to compiz.
Komeda handles the split in kernel completely to hide the detailed and
complicated split calcualtion to user mode, for user only need to set the
layer_split property to enable/disable it.
Signed-off-by: James Qian Wang (Arm Technology China)
---
.../gpu/drm/arm/display
To achieve same caling effect compare with none split, the texel
calculation need to use the same scaling ratio before split, so add
"total_xxx" to pipeline to describe the hsize/vsize before split.
Update pipeline and d71_scaler_update accordingly.
Signed-off-by: James Qian Wang (Arm
split, two
layer data flows will be output to compiz directly. for scaling_split, two
data flows will be merged by merger firstly, then merger outputs one merged
data flow to compiz.
This patch series depends on:
- https://patchwork.freedesktop.org/series/60767/
- https://patchwork.freedesktop.org/ser
da/komeda_plane.c
> @@ -21,7 +21,7 @@
>
> memset(dflow, 0, sizeof(*dflow));
>
> - dflow->blending_zorder = st->zpos;
> + dflow->blending_zorder = st->normalized_zpos;
>
> /* if format doesn't have alpha, fix blend mode to PIXEL_NONE */
> dflow->pixel_blend_mode = fb->format->has_alpha ?
> @@ -343,6 +343,10 @@ static int komeda_plane_add(struct komeda_kms_dev *kms,
> if (err)
> goto cleanup;
>
> + err = drm_plane_create_zpos_property(plane, layer->base.id, 0, 8);
> + if (err)
> + goto cleanup;
> +
> return 0;
> cleanup:
> komeda_plane_destroy(plane);
Looks good to me.
Reviewed-by: James Qian Wang (Arm Technology China)
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
> +
> + err = drm_plane_create_blend_mode_property(plane,
> + BIT(DRM_MODE_BLEND_PIXEL_NONE) |
> + BIT(DRM_MODE_BLEND_PREMULTI) |
> + BIT(DRM_MODE_BLEND_COVERAGE));
> + if (err)
> + goto cleanup;
> +
&
201 - 300 of 450 matches
Mail list logo