static void cal_stop_streaming(struct vb2_queue *vq)
cal_runtime_put(ctx->dev);
}
Thanks for the patch.
For s5p-jpeg driver:
Reviewed-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the b
This patch adds a function for checking whether two mbus formats
are compatible.
Signed-off-by: Jacek Anaszewski
Acked-by: Kyungmin Park
---
utils/media-ctl/libv4l2subdev.c | 42 +
utils/media-ctl/v4l2subdev.h| 21 +
2 files
off-by: Jacek Anaszewski
Acked-by: Kyungmin Park
---
configure.ac |1 +
lib/Makefile.am |5 +
lib/libv4l-exynos4-camera/Makefile.am | 19 +
lib/libv4l-exynos4-camera/libv4l-exynos4-camera.c
Tuominen
Signed-off-by: Jacek Anaszewski
---
utils/media-ctl/Makefile.am| 10 +-
utils/media-ctl/libmediatext.pc.in | 10 ++
utils/media-ctl/mediatext-test.c | 64
utils/media-ctl/mediatext.c| 312 +
utils/media-ctl/mediatext.h
Add a function for obtaining colorspace name by id.
Signed-off-by: Jacek Anaszewski
Acked-by: Kyungmin Park
---
utils/media-ctl/libv4l2subdev.c | 32
utils/media-ctl/v4l2subdev.h| 10 ++
2 files changed, 42 insertions(+)
diff --git a/utils/media
Add helper functions that allow for easy instantiation of media_device
object basing on whether the media device contains v4l2 subdev with
given file descriptor.
Signed-off-by: Jacek Anaszewski
Acked-by: Kyungmin Park
---
utils/media-ctl/libmediactl.c | 131
Add a new graph helper useful for discovering video pipeline.
Signed-off-by: Jacek Anaszewski
Acked-by: Kyungmin Park
---
utils/media-ctl/libmediactl.c | 21 +
utils/media-ctl/mediactl.h| 15 +++
2 files changed, 36 insertions(+)
diff --git a/utils/media
Make struct v4l2_subdev capable of aggregating v4l2-ctrl-bindings -
media device configuration entries. Added are also functions for
validating support for the control on given media entity and checking
whether a v4l2-ctrl-binding has been defined for a media entity.
Signed-off-by: Jacek
"FIMC-LITE.1":2 -> "FIMC-IS-ISP":0 [1]
link-conf "FIMC-IS-ISP":1 -> "FIMC.0":1 [1]
==
gst-launch-1.0 v4l2src device=/dev/video1
extra-controls="c,rotate=270,color_effects=2,horizontal_flip=1" !
video/x
off-by: Jacek Anaszewski
Acked-by: Kyungmin Park
---
configure.ac |1 +
lib/Makefile.am |5 +
lib/libv4l-exynos4-camera/Makefile.am | 19 +
lib/libv4l-exynos4-camera/libv4l-exynos4-camera.c
Forgot to add changelog:
Changes since v7:
- fixed and improved ctrl ioctl handlers
Best regards,
Jacek Anaszewski
On 10/13/2016 04:19 PM, Jacek Anaszewski wrote:
The plugin provides support for the media device on Exynos4 SoC.
It performs single plane <-> multi plane API conversion,
return enum_fmt(ctx, sjpeg_formats, SJPEG_NUM_FORMATS, f,
SJPEG_FMT_FLAG_DEC_OUTPUT);
}
Reviewed-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
);
if (ctx->jpeg->variant->version == SJPEG_S5P)
mask = ~0x06; /* 422, 420 */
}
Reviewed-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
;
> unsigned int exynos3250_jpeg_operating(void __iomem *regs)
>
Reviewed-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
Hi Sakari,
On 03/21/2016 12:39 AM, Sakari Ailus wrote:
Hi Jacek,
On Thu, Feb 18, 2016 at 03:15:32PM +0100, Jacek Anaszewski wrote:
Hi Sakari,
Thanks for the review.
On 02/12/2016 01:42 PM, Sakari Ailus wrote:
Hi Jacek,
Thanks for continuing this work! And my apologies for reviewing only
Hi Sakari,
On 03/21/2016 01:07 AM, Sakari Ailus wrote:
Hi Jacek,
On Thu, Feb 18, 2016 at 02:14:40PM +0100, Jacek Anaszewski wrote:
Hi Sakari,
On 02/18/2016 01:09 PM, Sakari Ailus wrote:
Hi Jacek,
On Mon, Feb 15, 2016 at 02:06:06PM +0100, Jacek Anaszewski wrote:
Hi Sakari,
Thanks for the
On 03/23/2016 05:24 PM, Sakari Ailus wrote:
Hi Jacek,
On Tue, Mar 22, 2016 at 10:36:05AM +0100, Jacek Anaszewski wrote:
Hi Sakari,
On 03/21/2016 01:07 AM, Sakari Ailus wrote:
Hi Jacek,
On Thu, Feb 18, 2016 at 02:14:40PM +0100, Jacek Anaszewski wrote:
Hi Sakari,
On 02/18/2016 01:09 PM
Hi Thierry,
On 06/07/2017 02:34 PM, Thierry Escande wrote:
> Hi Jacek,
>
> On 02/06/2017 21:50, Jacek Anaszewski wrote:
>> Hi Thierry,
>>
>> On 06/02/2017 06:02 PM, Thierry Escande wrote:
>>> From: Abhilash Kesavan
>>>
>>> This patch resets
t; - struct led_classdev_flash *iled_cdev,
> + struct led_classdev *iled_cdev,
> const struct v4l2_flash_ops *ops,
> struct v4l2_flash_config *config);
>
> @@ -140,7 +140,7 @@ void v4l2_flash_release(struct v4l2_flash *v4l2_flash);
> static inline struct v4l2_flash *v4l2_flash_init(
> struct device *dev, struct fwnode_handle *fwn,
> struct led_classdev_flash *fled_cdev,
> - struct led_classdev_flash *iled_cdev,
> + struct led_classdev *iled_cdev,
> const struct v4l2_flash_ops *ops,
> struct v4l2_flash_config *config)
> {
>
Reviewed-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
4l2_subdev *sd;
> int ret;
>
> - if (!fled_cdev || !ops || !config)
> + if (!fled_cdev || !config)
> return ERR_PTR(-EINVAL);
>
> led_cdev = &fled_cdev->led_cdev;
>
--
Best regards,
Jacek Anaszewski
al);
> + }
> +
> + return rval;
> +}
> +
> +static int as3645a_v4l2_setup(struct as3645a *flash)
> +{
> + struct led_classdev_flash *fled = &flash->fled;
> + struct led_classdev *led = &fled->led_cdev;
> + struct v4l2_flash_config cfg = {
> + .torch_intensity = {
> + .min = AS_TORCH_INTENSITY_MIN,
> + .max = flash->cfg.assist_max_ua,
> + .step = AS_TORCH_INTENSITY_STEP,
> + .val = flash->cfg.assist_max_ua,
> + },
> + .indicator_intensity = {
> + .min = AS_INDICATOR_INTENSITY_MIN,
> + .max = flash->cfg.indicator_max_ua,
> + .step = AS_INDICATOR_INTENSITY_STEP,
> + .val = flash->cfg.indicator_max_ua,
> + },
> + };
> +
> + strlcpy(cfg.dev_name, led->name, sizeof(cfg.dev_name));
> +
> + flash->vf = v4l2_flash_init(&flash->client->dev, NULL, &flash->fled,
> + &flash->iled_cdev, NULL, &cfg);
> + if (IS_ERR(flash->vf))
> + return PTR_ERR(flash->vf);
> +
> + return 0;
> +}
> +
> +static int as3645a_probe(struct i2c_client *client)
> +{
> + struct as3645a *flash;
> + int rval;
> +
> + if (client->dev.of_node == NULL)
> + return -ENODEV;
> +
> + flash = devm_kzalloc(&client->dev, sizeof(*flash), GFP_KERNEL);
> + if (flash == NULL)
> + return -ENOMEM;
> +
> + flash->client = client;
> +
> + rval = as3645a_parse_node(flash, client->dev.of_node);
> + if (rval < 0)
> + return rval;
> +
> + rval = as3645a_detect(flash);
> + if (rval < 0)
> + return rval;
> +
> + mutex_init(&flash->mutex);
> + i2c_set_clientdata(client, flash);
> +
> + rval = as3645a_setup(flash);
> + if (rval)
> + goto out_mutex_destroy;
> +
> + rval = as3645a_led_class_setup(flash);
> + if (rval)
> + goto out_mutex_destroy;
> +
> + rval = as3645a_v4l2_setup(flash);
> + if (rval)
> + goto out_led_classdev_flash_unregister;
> +
> + return 0;
> +
> +out_led_classdev_flash_unregister:
> + led_classdev_flash_unregister(&flash->fled);
> +
> +out_mutex_destroy:
> + mutex_destroy(&flash->mutex);
> +
> + return rval;
> +}
> +
> +static int as3645a_remove(struct i2c_client *client)
> +{
> + struct as3645a *flash = i2c_get_clientdata(client);
> +
> + as3645a_set_control(flash, AS_MODE_EXT_TORCH, false);
> +
> + v4l2_flash_release(flash->vf);
> +
> + led_classdev_flash_unregister(&flash->fled);
> + led_classdev_unregister(&flash->iled_cdev);
> +
> + mutex_destroy(&flash->mutex);
> +
> + return 0;
> +}
> +
> +static const struct of_device_id as3645a_of_table[] = {
> + { .compatible = "ams,as3645a" },
> + { },
> +};
> +MODULE_DEVICE_TABLE(of, as3645a_of_table);
> +
> +SIMPLE_DEV_PM_OPS(as3645a_pm_ops, as3645a_resume, as3645a_suspend);
> +
> +static struct i2c_driver as3645a_i2c_driver = {
> + .driver = {
> + .of_match_table = as3645a_of_table,
> + .name = AS_NAME,
> + .pm = &as3645a_pm_ops,
> + },
> + .probe_new = as3645a_probe,
> + .remove = as3645a_remove,
> +};
> +
> +module_i2c_driver(as3645a_i2c_driver);
> +
> +MODULE_AUTHOR("Laurent Pinchart ");
> +MODULE_AUTHOR("Sakari Ailus ");
> +MODULE_DESCRIPTION("LED flash driver for AS3645A, LM3555 and their clones");
> +MODULE_LICENSE("GPL v2");
>
--
Best regards,
Jacek Anaszewski
Hi Sakari,
On 06/14/2017 11:19 PM, Sakari Ailus wrote:
> Hi Jacek,
>
> On Wed, Jun 14, 2017 at 11:14:13PM +0200, Jacek Anaszewski wrote:
>> Hi Sakari,
>>
>> On 06/14/2017 11:47 AM, Sakari Ailus wrote:
>>> None of the flash operations are not mandatory and t
too. :-)
Nice :-). I'm also surprised that v4l2-flash API is also used in
drivers/staging/greybus/light.c which popped up with kbuild test robot
complaints.
> On Wed, Jun 14, 2017 at 11:15:24PM +0200, Jacek Anaszewski wrote:
>>> +static __maybe_unused int as3645a_suspend(s
On 06/15/2017 03:34 PM, Sakari Ailus wrote:
> Hi Jacek,
>
> On Thu, Jun 15, 2017 at 03:01:47PM +0200, Jacek Anaszewski wrote:
>> Hi Sakari,
>>
>> On 06/15/2017 12:10 AM, Sakari Ailus wrote:
>>> Hi Jacek,
>>>
>>> Thanks for the review!
>&
q_data->w = tmp.w;
> - q_data->h = tmp.h;
> + q_data->w = ctx->out_q.w;
> + q_data->h = ctx->out_q.h;
>
> /*
>* This call to jpeg_bound_align_image() takes care of width and
>
--
Best regards,
Jacek Anaszewski
Hi Thierry,
For the whole series:
Acked-by: Jacek Anaszewski
Best regards,
Jacek Anaszewski
On 06/27/2017 06:08 PM, Thierry Escande wrote:
> Hi,
>
> This series contains various fixes and improvements for the Samsung
> s5p-jpeg driver. Most of these patches come from the C
> arch/arm/boot/dts/omap3-n950-n9.dtsi | 10 +---
> drivers/leds/leds-as3645a.c| 28
> +++---
> 3 files changed, 50 insertions(+), 16 deletions(-)
>
Acked-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
lso adding linux-leds list on cc when touching areas
related to LED/flash devices?
Thanks in advance.
Best regards,
Jacek Anaszewski
On 09/08/2017 03:18 PM, Sakari Ailus wrote:
> Switch the as3645a from OF to the fwnode property API. Also add ACPI
> support.
>
> Signe
Hi Sakari,
On 09/09/2017 11:36 PM, Sakari Ailus wrote:
> Hi Jacek,
>
> On Sat, Sep 09, 2017 at 09:06:41PM +0200, Jacek Anaszewski wrote:
>> Hi Sakari,
>>
>> I've come across this patch only by a chance. I believe that merging
>> leds-as3645a.c patch
this. LED class device name pattern
is well defined to devicename:colour:function
(see Documentation/leds/leds-class.txt, "LED Device Naming" section).
In this case "flash" in place of the "function" segment makes the
things clear enough I suppose.
--
Best regards,
Jacek Anaszewski
On 09/12/2017 11:55 PM, Pavel Machek wrote:
> On Tue 2017-09-12 20:53:33, Jacek Anaszewski wrote:
>> Hi Pavel,
>>
>> On 09/12/2017 12:36 PM, Pavel Machek wrote:
>>> Hi!
>>>
>>> There were some changes to as3645a flash controller. Before we have
>
#x27;t know if it is front one or
> back one. Its true that if you have just one flash it is usually on
> the back camera, but you can't know if maybe driver is not available
> for the main flash.
>
> Lets get this right, please "main_camera_flash" is 12 bytes more than
> "flash", and it saves application logic.. more than 12 bytes, I'm sure.
What you are trying to introduce is yet another level of LED class
device naming standard, one level below devicename:colour:function.
It seems you want also to come up with the set of standarized LED
function names. This would certainly have to be covered for consistency.
--
Best regards,
Jacek Anaszewski
> bindings to a release? I've dropped the patches related to LED naming and
> label property as the discusion appears to continue on that.
No problem. One question - isn't patch 3/4 missing?
Best regards,
Jacek Anaszewski
> Thanks.
>
>
> since v2:
>
> - Dr
On 09/20/2017 10:53 PM, Rob Herring wrote:
> On Tue, Sep 19, 2017 at 11:01:02PM +0200, Jacek Anaszewski wrote:
>> Hi Pavel,
>>
>> On 09/18/2017 10:54 PM, Pavel Machek wrote:
>>> On Mon 2017-09-18 17:49:23, Sakari Ailus wrote:
>>>> Hi Pavel,
>>>>
Hi Sakari,
On 09/22/2017 11:25 PM, Sakari Ailus wrote:
> Hi Jacek,
>
> (Fixed DT list address.)
>
> Jacek Anaszewski wrote:
>> Hi Sakari,
>>
>> On 09/22/2017 11:32 AM, Sakari Ailus wrote:
>>> Hi Jacek and others,
>>>
>>> Here are a
On 09/22/2017 11:07 PM, Jacek Anaszewski wrote:
> On 09/20/2017 10:53 PM, Rob Herring wrote:
>> On Tue, Sep 19, 2017 at 11:01:02PM +0200, Jacek Anaszewski wrote:
>>> Hi Pavel,
>>>
>>> On 09/18/2017 10:54 PM, Pavel Machek wrote:
>>>> On Mon 2017-09
+120,24 @@ static inline struct v4l2_flash
> *v4l2_ctrl_to_v4l2_flash(struct v4l2_ctrl *c)
> struct v4l2_flash *v4l2_flash_init(
> struct device *dev, struct fwnode_handle *fwn,
> struct led_classdev_flash *fled_cdev,
> - struct led_classdev *iled_cdev,
> - const struct v4l2_flash_ops *ops,
> - struct v4l2_flash_config *config);
> + const struct v4l2_flash_ops *ops, struct v4l2_flash_config *config);
> +
> +/**
> + * v4l2_flash_indicator_init - initialize V4L2 indicator sub-device
> + * @dev: flash device, e.g. an I2C device
> + * @fwn: fwnode_handle of the LED, may be NULL if the same as device's
> + * @iled_cdev: LED flash class device representing the indicator LED
> + * @config: initialization data for V4L2 Flash sub-device
> + *
> + * Create V4L2 Flash sub-device wrapping given LED subsystem device.
> + *
> + * Returns: A valid pointer, or, when an error occurs, the return
> + * value is encoded using ERR_PTR(). Use IS_ERR() to check and
> + * PTR_ERR() to obtain the numeric return value.
> + */
> +struct v4l2_flash *v4l2_flash_indicator_init(
> + struct device *dev, struct fwnode_handle *fwn,
> + struct led_classdev *iled_cdev, struct v4l2_flash_config *config);
>
> /**
> * v4l2_flash_release - release V4L2 Flash sub-device
> @@ -139,10 +150,14 @@ void v4l2_flash_release(struct v4l2_flash *v4l2_flash);
> #else
> static inline struct v4l2_flash *v4l2_flash_init(
> struct device *dev, struct fwnode_handle *fwn,
> - struct led_classdev_flash *fled_cdev,
> - struct led_classdev *iled_cdev,
> - const struct v4l2_flash_ops *ops,
> - struct v4l2_flash_config *config)
> + struct led_classdev_flash *fled_cdev, struct v4l2_flash_config *config)
> +{
> + return NULL;
> +}
> +
> +static inline struct v4l2_flash *v4l2_flash_indicator_init(
> + struct device *dev, struct fwnode_handle *fwn,
> + struct led_classdev *iled_cdev, struct v4l2_flash_config *config)
> {
> return NULL;
> }
>
Reviewed-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
Hi Sakari,
Thanks for the update.
My remarks from [0] related to LED class device naming apply also
to this version of the patch.
[0[ https://www.spinics.net/lists/linux-leds/msg08015.html
Best regards,
Jacek Anaszewski
On 07/18/2017 09:03 PM, Sakari Ailus wrote:
> From: Sakari Ai
> drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c | 9 -
> drivers/media/platform/s5p-jpeg/jpeg-regs.h | 2 +-
> 4 files changed, 17 insertions(+), 3 deletions(-)
>
For the whole series:
Reviewed-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
media: s5p-jpeg: don't overwrite result's "size" member
> media: s5p-jpeg: set w/h when encoding
>
> drivers/media/platform/s5p-jpeg/jpeg-core.c | 10 +++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
Reviewed-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
| 8 +
> drivers/leds/Makefile | 1 +
> drivers/leds/leds-as3645a.c| 785
> +
> 8 files changed, 872 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/leds/ams,as3645a.txt
> create mode 100644 drivers/leds/leds-as3645a.c
>
--
Best regards,
Jacek Anaszewski
; + flash {
label = "as3645a:flash";
> + flash-timeout-us = <15>;
> + flash-max-microamp = <32>;
> + led-max-microamp = <6>;
> + ams,input-max-microamp = <175>;
> + };
> + indicator {
label = "as3645a:indicator";
> + led-max-microamp = <1>;
> + };
> + };
>
--
Best regards,
Jacek Anaszewski
.dev_name));
> + strlcpy(cfgind.dev_name, flash->iled_cdev.name, sizeof(cfg.dev_name));
> +
> + flash->vf = v4l2_flash_init(
> + &flash->client->dev, of_fwnode_handle(flash->flash_node),
> + &flash->fled, NULL, &cfg);
> + if (IS_ERR(flash->vf))
> + return PTR_ERR(flash->vf);
> +
> + flash->vfind = v4l2_flash_indicator_init(
> + &flash->client->dev, of_fwnode_handle(flash->indicator_node),
> + &flash->iled_cdev, &cfgind);
> + if (IS_ERR(flash->vfind)) {
> + v4l2_flash_release(flash->vf);
> + return PTR_ERR(flash->vfind);
> + }
> +
> + return 0;
> +}
> +
> +static int as3645a_probe(struct i2c_client *client)
> +{
> + struct as3645a_names names;
> + struct as3645a *flash;
> + int rval;
> +
> + if (client->dev.of_node == NULL)
> + return -ENODEV;
> +
> + flash = devm_kzalloc(&client->dev, sizeof(*flash), GFP_KERNEL);
> + if (flash == NULL)
> + return -ENOMEM;
> +
> + flash->client = client;
> +
> + rval = as3645a_parse_node(flash, &names, client->dev.of_node);
> + if (rval < 0)
> + return rval;
> +
> + rval = as3645a_detect(flash);
> + if (rval < 0)
> + goto out_put_nodes;
> +
> + mutex_init(&flash->mutex);
> + i2c_set_clientdata(client, flash);
> +
> + rval = as3645a_setup(flash);
> + if (rval)
> + goto out_mutex_destroy;
> +
> + rval = as3645a_led_class_setup(flash, &names);
> + if (rval)
> + goto out_mutex_destroy;
> +
> + rval = as3645a_v4l2_setup(flash);
> + if (rval)
> + goto out_led_classdev_flash_unregister;
> +
> + return 0;
> +
> +out_led_classdev_flash_unregister:
> + led_classdev_flash_unregister(&flash->fled);
> +
> +out_mutex_destroy:
> + mutex_destroy(&flash->mutex);
> +
> +out_put_nodes:
> + of_node_put(flash->flash_node);
> + of_node_put(flash->indicator_node);
> +
> + return rval;
> +}
> +
> +static int as3645a_remove(struct i2c_client *client)
> +{
> + struct as3645a *flash = i2c_get_clientdata(client);
> +
> + as3645a_set_control(flash, AS_MODE_EXT_TORCH, false);
> +
> + v4l2_flash_release(flash->vf);
> +
> + led_classdev_flash_unregister(&flash->fled);
> + led_classdev_unregister(&flash->iled_cdev);
> +
> + mutex_destroy(&flash->mutex);
> +
> + of_node_put(flash->flash_node);
> + of_node_put(flash->indicator_node);
> +
> + return 0;
> +}
> +
> +static const struct of_device_id as3645a_of_table[] = {
> + { .compatible = "ams,as3645a" },
> + { },
> +};
> +MODULE_DEVICE_TABLE(of, as3645a_of_table);
> +
> +SIMPLE_DEV_PM_OPS(as3645a_pm_ops, as3645a_resume, as3645a_suspend);
> +
> +static struct i2c_driver as3645a_i2c_driver = {
> + .driver = {
> + .of_match_table = as3645a_of_table,
> + .name = AS_NAME,
> + .pm = &as3645a_pm_ops,
LED subsystem already installs its own pm ops (see led-class.c)
and sets brightness on all LED class devices to LED_OFF on suspend
and brings it back on resume.
If you set LED_CORE_SUSPENDRESUME flag, then you could get rid
of as3645a_resume() and as3645a_suspend() and turn the device in power
down mode (if it has one) always when both flash and indicator LED are
off (if it makes sense from power comsumption POV).
> + },
> + .probe_new = as3645a_probe,
> + .remove = as3645a_remove,
> +};
> +
> +module_i2c_driver(as3645a_i2c_driver);
> +
> +MODULE_AUTHOR("Laurent Pinchart ");
> +MODULE_AUTHOR("Sakari Ailus ");
> +MODULE_DESCRIPTION("LED flash driver for AS3645A, LM3555 and their clones");
> +MODULE_LICENSE("GPL v2");
>
--
Best regards,
Jacek Anaszewski
gainst the
approach I proposed in the previous review?:
snprintf(names->flash, sizeof(names->flash),
AS_NAME":%s", node->name);
Best regards,
Jacek Anaszewski
On 08/19/2017 11:42 PM, Sakari Ailus wrote:
> From: Sakari Ailus
>
> Add a LED flash
Forgot to add a link to the referenced patch:
[0] http://www.spinics.net/lists/devicetree/msg191273.html
On 08/20/2017 12:09 PM, Jacek Anaszewski wrote:
> Hi Sakari,
>
> Thanks for the update.
> I've noticed that you added node labels to the child device nodes
> in [0]:
Hi Sakari,
On 08/21/2017 03:53 PM, Sakari Ailus wrote:
> Hi Jacek,
>
> Jacek Anaszewski wrote:
>> Hi Sakari,
>>
>> Thanks for the update.
>> I've noticed that you added node labels to the child device nodes
>> in [0]:
>>
>> "as3645
> + flash {
> + flash-timeout-us = <15>;
> + flash-max-microamp = <32>;
> + led-max-microamp = <6>;
> + ams,input-max-microamp = <1750000>;
> + label = "as3645a:flash";
> + };
> + indicator {
> + led-max-microamp = <1>;
> + label = "as3645a:indicator";
> + };
> + };
>
For the patch going through media tree:
Acked-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
subsampling_mode(jpeg->regs);
> +
> + spin_unlock(&jpeg->slock);
> +
> + v4l2_m2m_job_finish(jpeg->m2m_dev, curr_ctx->fh.m2m_ctx);
> + return IRQ_HANDLED;
> +
> exit_unlock:
> spin_unlock(&jpeg->slock);
> return IRQ_HANDLED;
>
Acked-by: Jacek Anaszewski
Just out of curiosity - could you share how you discovered the problem -
by some static checkers or trying to use the driver?
--
Best regards,
Jacek Anaszewski
On 04/26/2017 04:54 AM, Alexandre Courbot wrote:
> On Wed, Apr 26, 2017 at 4:15 AM, Jacek Anaszewski
> wrote:
>> Hi Alexandre,
>>
>> Thanks for the patch.
>>
>> On 04/25/2017 08:19 AM, Alexandre Courbot wrote:
>>> v4l2_m2m_job_finish(), which is cal
Hi Mauro,
This patch seems to have lost somehow. Could you help merging it?
Thanks,
Jacek Anaszewski
On 05/29/2017 09:29 AM, Alexandre Courbot wrote:
> Hi everyone,
>
> On Thu, Apr 27, 2017 at 4:35 AM, Jacek Anaszewski
> wrote:
>> On 04/26/2017 04:54 AM, Alexandre Courbot
,
> +base + EXYNOS4_JPEG_CNTL_REG);
Why is it required? It would be nice if commit message explained that.
> + reg = readl(base + EXYNOS4_JPEG_CNTL_REG);
> writel(reg & ~EXYNOS4_SOFT_RESET_HI, base + EXYNOS4_JPEG_CNTL_REG);
>
> udelay(100);
>
--
Best regards,
Jacek Anaszewski
);
> + q_data->size = q_data->w * q_data->h * q_data->fmt->depth >> 3;
> }
>
> v4l2_m2m_buf_queue(ctx->fh.m2m_ctx, vbuf);
>
--
Best regards,
Jacek Anaszewski
:
> + ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_411;
> + break;
> default:
> return false;
> }
>
Acked-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
{
> + dev_err(&pdev->dev, "IOMMU Initialization failed\n");
> + return ret;
> + }
> +#endif
> /* memory-mapped registers */
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>
> @@ -2962,6 +3035,10 @@ static int s5p_jpeg_remove(struct platform_device
> *pdev)
> clk_disable_unprepare(jpeg->clocks[i]);
> }
>
> +#if defined(CONFIG_EXYNOS_IOMMU) && defined(CONFIG_ARM_DMA_USE_IOMMU)
> + jpeg_iommu_deinit(pdev);
> +#endif
> +
> return 0;
> }
>
>
--
Best regards,
Jacek Anaszewski
> b/drivers/media/platform/s5p-jpeg/jpeg-core.h
> index 4492a35..9aa26bd 100644
> --- a/drivers/media/platform/s5p-jpeg/jpeg-core.h
> +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.h
> @@ -98,6 +98,11 @@ enum exynos4_jpeg_img_quality_level {
> QUALITY_LEVEL_4,/* low */
> };
>
> +enum s5p_jpeg_ctx_state {
> + JPEGCTX_RUNNING = 0,
> + JPEGCTX_RESOLUTION_CHANGE,
> +};
> +
> /**
> * struct s5p_jpeg - JPEG IP abstraction
> * @lock:the mutex protecting this structure
> @@ -220,6 +225,7 @@ struct s5p_jpeg_q_data {
> * @hdr_parsed: set if header has been parsed during
> decompression
> * @crop_altered:set if crop rectangle has been altered by the user space
> * @ctrl_handler:controls handler
> + * @state: state of the context
> */
> struct s5p_jpeg_ctx {
> struct s5p_jpeg *jpeg;
> @@ -235,6 +241,7 @@ struct s5p_jpeg_ctx {
> boolhdr_parsed;
> boolcrop_altered;
> struct v4l2_ctrl_handler ctrl_handler;
> + enum s5p_jpeg_ctx_state state;
> };
>
> /**
>
--
Best regards,
Jacek Anaszewski
return PTR_ERR(jpeg->clocks[i]);
> }
> +
> + if (jpeg->variant->version == SJPEG_EXYNOS4 &&
> + !strncmp(jpeg->variant->clk_names[i],
> + "sclk", strlen("sclk"))) {
> + ret = exynos4_jpeg_set_sclk_rate(jpeg,
> + jpeg->clocks[i]);
> + if (ret)
> + return ret;
> + }
> }
>
> /* v4l2 device */
>
--
Best regards,
Jacek Anaszewski
IDEO_CAPTURE);
> + dst_vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, ctx->cap_q.type);
> ori_w = ctx->out_q.w;
> ori_h = ctx->out_q.h;
>
> @@ -2708,7 +2830,7 @@ static void s5p_jpeg_stop_streaming(struct vb2_queue *q)
>* subsampling. Update capture queue when the stream is off.
>*/
> if (ctx->state == JPEGCTX_RESOLUTION_CHANGE &&
> - q->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) {
> + !V4L2_TYPE_IS_OUTPUT(q->type)) {
> s5p_jpeg_set_capture_queue_data(ctx);
> ctx->state = JPEGCTX_RUNNING;
> }
> diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.h
> b/drivers/media/platform/s5p-jpeg/jpeg-core.h
> index 9aa26bd..302a297 100644
> --- a/drivers/media/platform/s5p-jpeg/jpeg-core.h
> +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.h
> @@ -196,6 +196,7 @@ struct s5p_jpeg_marker {
> * @sof_len: SOF0 marker's payload length (without length field itself)
> * @components: number of image components
> * @size:image buffer size in bytes
> + * @type:buffer type of the queue (enum v4l2_buf_type)
> */
> struct s5p_jpeg_q_data {
> struct s5p_jpeg_fmt *fmt;
> @@ -208,6 +209,7 @@ struct s5p_jpeg_q_data {
> u32 sof_len;
> u32 components;
> u32 size;
> + u32 type;
> };
>
> /**
>
--
Best regards,
Jacek Anaszewski
ou see providing separate 'colour' DT property as a solution?
Best regards,
Jacek Anaszewski
On 09/23/2017 11:12 PM, Jacek Anaszewski wrote:
> On 09/22/2017 11:07 PM, Jacek Anaszewski wrote:
>> On 09/20/2017 10:53 PM, Rob Herring wrote:
>>> On Tue, Sep 19, 2017 at 11:01:02
which is defined as 0 and uninitialized
vfl_dir field is interpreted as such. In effect the unlikely()
condition in the v4l_s_fmt function failed for the ioctls that
expect is_tx to be false, which prevented the ioctl callbacks
registered by the driver from being called.
Signed-off-by: Jacek
Signed-off-by: Jacek Anaszewski
Signed-off-by: Kyungmin Park
---
drivers/media/platform/s5p-jpeg/jpeg-regs.h | 24
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/media/platform/s5p-jpeg/jpeg-regs.h
b/drivers/media/platform/s5p-jpeg/jpeg
NV12 format entries in the sjpeg_formats array had wrong
colplanes, depth and v_align values.
Signed-off-by: Jacek Anaszewski
Signed-off-by: Kyungmin Park
---
drivers/media/platform/s5p-jpeg/jpeg-core.c |8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers
Hi Andrew,
Thanks for the patch.
Please address the issue [1] raised by test bot and resubmit.
Thanks,
Jacek Anaszewski
[1] https://lkml.org/lkml/2016/6/13/1091
On 06/13/2016 10:02 PM, Andrew F. Davis wrote:
When CONFIG_NEW_LEDS is not set make will still descend into the leds
directory but
->driver));
strlcpy(cap->card, S5P_JPEG_M2M_NAME " decoder",
sizeof(cap->card));
Acked-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a
G | V4L2_CAP_VIDEO_M2M;
cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
return 0;
Acked-by: Jacek Anaszewski
--
Best regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a
On 06/18/2016 12:46 AM, Andrew F. Davis wrote:
On 06/15/2016 01:48 AM, Jacek Anaszewski wrote:
Hi Andrew,
Thanks for the patch.
Please address the issue [1] raised by test bot and resubmit.
Thanks,
Jacek Anaszewski
[1] https://lkml.org/lkml/2016/6/13/1091
It looks like some systems use
inline struct platform_device *gpio_led_register_device(
+ int id, const struct gpio_led_platform_data *pdata)
+{
+ return 0;
+}
+#endif
enum cpu_led_event {
CPU_LED_IDLE_START, /* CPU enters idle */
--
Best regards,
Jacek Anaszewski
--
To unsubscribe from this li
On 06/21/2016 01:48 PM, Andrew F. Davis wrote:
On 06/21/2016 02:09 AM, Jacek Anaszewski wrote:
Hi Andrew,
This patch doesn't apply, please rebase onto recent LED tree.
On 06/21/2016 12:13 AM, Andrew F. Davis wrote:
Some systems use 'gpio_led_register_device' to make an in
LED subsystem shifted responsibility for choosing between SYNC or ASYNC
way of setting brightness from drivers to the caller. Adapt the wrapper
to those changes.
Signed-off-by: Jacek Anaszewski
Cc: Sakari Ailus
Cc: Pavel Machek
Cc: linux-media@vger.kernel.org
---
drivers/media/v4l2-core/v4l2
On 28.07.2015 12:00, Hans Verkuil wrote:
On 06/19/2015 09:31 AM, Jacek Anaszewski wrote:
This patch adds helper functions for registering/unregistering
LED Flash class devices as V4L2 sub-devices. The functions should
be called from the LED subsystem device driver. In case the
support for V4L2
On 07/28/2015 12:00 PM, Hans Verkuil wrote:
On 06/19/2015 09:31 AM, Jacek Anaszewski wrote:
This patch adds helper functions for registering/unregistering
LED Flash class devices as V4L2 sub-devices. The functions should
be called from the LED subsystem device driver. In case the
support for
queryctrl and querymenu menu ops don't need to be initialized
if sd.ctrl_handler is set. Since no other core ops are required
by the wrapper don't initialize related field of v4l2_flash_subdev_ops.
Signed-off-by: Jacek Anaszewski
Cc: Hans Verkuil
---
drivers/media/v4l2-core/v4l2
Hi Andi,
Only DT bindings of LED class drivers should be placed in
Documentation/devicetree/bindings/leds. Please move it to the
media bindings.
Thanks,
Jacek Anaszewski
On 11/02/2016 11:40 AM, Andi Shyti wrote:
Document the ir-spi driver's binding which is a IR led driven
through th
- shouldn't bindings be
placed in the documentation directory related to the subsystem of the
driver they are predestined to?
--
Best regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...
?
There were issues raised by Sakari during last review, related to
the way how v4l2 control bindings are defined. That discussion wasn't
finished, so I stayed by my approach. Other than that - I've tested it
and it works fine both with GStreamer and my test app.
Best regards,
Jacek
On 11/09/2016 07:26 PM, Rob Herring wrote:
On Thu, Nov 03, 2016 at 11:39:21AM +0100, Jacek Anaszewski wrote:
On 11/03/2016 11:10 AM, Andi Shyti wrote:
Hi Jacek,
Only DT bindings of LED class drivers should be placed in
Documentation/devicetree/bindings/leds. Please move it to the
media
On 11/23/2016 10:51 PM, Mauro Carvalho Chehab wrote:
Em Thu, 03 Nov 2016 13:13:12 +0100
Jacek Anaszewski escreveu:
Hi Hans,
On 11/03/2016 12:51 PM, Hans Verkuil wrote:
Hi all,
Is there anything that blocks me from merging this?
This plugin work has been ongoing for years and unless there
On 11/24/2016 10:10 AM, Mauro Carvalho Chehab wrote:
Em Thu, 24 Nov 2016 09:10:28 +0100
Jacek Anaszewski escreveu:
On 11/23/2016 10:51 PM, Mauro Carvalho Chehab wrote:
Em Thu, 03 Nov 2016 13:13:12 +0100
Jacek Anaszewski escreveu:
Hi Hans,
On 11/03/2016 12:51 PM, Hans Verkuil wrote:
Hi
Hi Sakari,
Thanks for the review.
On 11/24/2016 01:17 PM, Sakari Ailus wrote:
Hi Jacek,
Thanks for the patchset.
On Wed, Oct 12, 2016 at 04:35:19PM +0200, Jacek Anaszewski wrote:
Add helper functions that allow for easy instantiation of media_device
object basing on whether the media device
Hi Sakari,
Thanks for the review.
On 11/24/2016 01:40 PM, Sakari Ailus wrote:
Hi Jacek,
On Wed, Oct 12, 2016 at 04:35:18PM +0200, Jacek Anaszewski wrote:
Add a new graph helper useful for discovering video pipeline.
Signed-off-by: Jacek Anaszewski
Acked-by: Kyungmin Park
---
utils/media
Hi Sakari,
On 11/24/2016 02:01 PM, Sakari Ailus wrote:
Hi Jacek,
On Wed, Oct 12, 2016 at 04:35:17PM +0200, Jacek Anaszewski wrote:
libmediatext is a helper library for converting configurations (Media
controller links, V4L2 controls and V4L2 sub-device media bus formats and
selections) from
e should also check the
last "a".
Of course, this needs to be fixed, thanks.
--
Best regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
On 11/24/2016 03:36 PM, Sakari Ailus wrote:
Hi Jacek,
On Wed, Oct 12, 2016 at 04:35:21PM +0200, Jacek Anaszewski wrote:
This patch adds a function for checking whether two mbus formats
are compatible.
Compatible doesn't in general case mean the same as... the same.
On parallel busses
se, I appreciate all your remarks, they're highly valuable.
On Wed, Oct 12, 2016 at 04:35:22PM +0200, Jacek Anaszewski wrote:
...
diff --git a/lib/libv4l-exynos4-camera/Makefile.am
b/lib/libv4l-exynos4-camera/Makefile.am
new file mode 100644
index 000..c38b7f6
--- /dev/null
+++ b/lib/libv
Hi Sakari,
On 11/24/2016 03:23 PM, Sakari Ailus wrote:
Hi Jacek,
On Wed, Oct 12, 2016 at 04:35:16PM +0200, Jacek Anaszewski wrote:
Make struct v4l2_subdev capable of aggregating v4l2-ctrl-bindings -
media device configuration entries. Added are also functions for
validating support for the
Hi Sakari,
On 11/24/2016 01:17 PM, Sakari Ailus wrote:
Hi Jacek,
Thanks for the patchset.
On Wed, Oct 12, 2016 at 04:35:19PM +0200, Jacek Anaszewski wrote:
Add helper functions that allow for easy instantiation of media_device
object basing on whether the media device contains v4l2 subdev
Hhi Sakari,
On 12/09/2016 12:05 AM, Sakari Ailus wrote:
Hi Jacek,
On Thu, Dec 08, 2016 at 11:04:20PM +0100, Jacek Anaszewski wrote:
Hi Sakari,
On 11/24/2016 01:17 PM, Sakari Ailus wrote:
Hi Jacek,
Thanks for the patchset.
On Wed, Oct 12, 2016 at 04:35:19PM +0200, Jacek Anaszewski wrote
_ops = {
SET_SYSTEM_SLEEP_PM_OPS(s5p_jpeg_suspend, s5p_jpeg_resume)
- SET_RUNTIME_PM_OPS(s5p_jpeg_runtime_suspend, s5p_jpeg_runtime_resume,
NULL)
+ SET_RUNTIME_PM_OPS(s5p_jpeg_runtime_suspend, s5p_jpeg_runtime_resume,
+ NULL)
};
static struct s5p_
f-by: Andrzej Pietrasiewicz
---
drivers/media/platform/s5p-jpeg/jpeg-core.c | 66 ++---
drivers/media/platform/s5p-jpeg/jpeg-core.h | 10 +++--
2 files changed, 37 insertions(+), 39 deletions(-)
Reviewed-by: Jacek Anaszewski
--
Best Regards,
Jacek Anaszewski
--
To uns
| 11 +-
drivers/media/platform/s5p-jpeg/jpeg-regs.h| 85 +++--
6 files changed, 522 insertions(+), 66 deletions(-)
Reviewed-by: Jacek Anaszewski
--
Best Regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a
On 09/18/2015 04:20 PM, Andrzej Pietrasiewicz wrote:
Add Andrzej Pietrasiewicz and Jacek Anaszewski
as maintainers of drivers/media/platform/s5p-jpeg.
Signed-off-by: Andrzej Pietrasiewicz
---
MAINTAINERS | 8
1 file changed, 8 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
ses as he finds it
clearer. I think it applies to patches 29-36. I am not sure about patches
26-28,37.
Dropped 30/38 and 31/38 from LED tree then.
--
Best Regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a messag
LED subsystem shifted responsibility for choosing between SYNC or ASYNC
way of setting brightness from drivers to the caller. Adapt the wrapper
to those changes.
Signed-off-by: Jacek Anaszewski
Cc: Sakari Ailus
Cc: Pavel Machek
Cc: linux-media@vger.kernel.org
---
drivers/media/v4l2-core/v4l2
Hi Pavel,
Thanks for the review.
On 09/28/2015 10:37 PM, Pavel Machek wrote:
On Mon 2015-09-28 15:07:21, Jacek Anaszewski wrote:
LED subsystem shifted responsibility for choosing between SYNC or ASYNC
way of setting brightness from drivers to the caller. Adapt the wrapper
to those changes
27;
drivers/built-in.o: In function `v4l2_flash_init':
(.text+0x122949): undefined reference to `v4l2_ctrl_handler_free'
drivers/built-in.o:(.rodata+0x20ef8): undefined reference to
`v4l2_subdev_queryctrl'
drivers/built-in.o:(.rodata+0x20f10): undefined reference to
`v4l2_subdev_querymenu'
Hi Sakari,
On 10/02/2015 11:41 AM, Sakari Ailus wrote:
Hi Jacek,
On Fri, Oct 02, 2015 at 11:19:15AM +0200, Jacek Anaszewski wrote:
Fixes the following randconfig problem:
drivers/built-in.o: In function `v4l2_flash_release':
(.text+0x12204f): undefined referen
LED subsystem shifted responsibility for choosing between SYNC or ASYNC
way of setting brightness from drivers to the caller. Adapt the wrapper
to those changes.
Signed-off-by: Jacek Anaszewski
Cc: Sakari Ailus
Cc: Pavel Machek
Cc: linux-media@vger.kernel.org
---
drivers/media/v4l2-core/v4l2
Hi Mauro,
This patch depends on the preceding LED core improvements patches
from this patch set, and it would be best if it was merged through
the LED tree. Can I get your ack for this? I've already obtained acks
for the whole set from Sakari.
Best Regards,
Jacek Anaszewski
On 10/07/2015
On 11/16/2015 10:47 AM, Sakari Ailus wrote:
Jacek Anaszewski wrote:
This patch depends on the preceding LED core improvements patches
from this patch set, and it would be best if it was merged through
the LED tree. Can I get your ack for this? I've already obtained acks
for the whole set
ret = media_entity_pads_init(&sd->entity, 0, NULL);
if (ret < 0)
return ERR_PTR(ret);
For this part:
Acked-by: Jacek Anaszewski
--
Best Regards,
Jacek Anaszewski
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of
Hi Sakari,
On Fri, 24 Apr 2015 00:52:12 +0300
Sakari Ailus wrote:
> Hi Jacek,
>
> Jacek Anaszewski wrote:
> ...
> >>> +#define call_flash_op(v4l2_flash, op,
> >>> arg) \
> >>&
1 - 100 of 724 matches
Mail list logo