#v4l 2019-08-12,Mon

↑back Search ←Prev date Next date→ Show only urls(Click on time to select a line by its url)

WhoWhatWhen
hfrsailus: Hi Sakari, for "v5 DCMI bridge support" may I put your "Acked-by" also on the 2 other commits ? Or just the 1/3 one ? [08:54]
.......................... (idle for 2h9mn)
ezequielghverkuil: thanks for reviewing! [11:03]
hverkuilno problem.
I just posted "[PATCHv2 00/12] Stateful/stateless codec core support". Please review since I would like to merge patches 1-7 and possibly patch 8 as well for v5.4.
[11:05]
.............. (idle for 1h9mn)
Who else besides me plans to attend the ELCE this year? If there is enough interest, then it might be useful to see if we can meet to discuss codec support and libcamera support (as suggested by Alexandre Courbot). [12:15]
koikehverkuil: I plan to be there, and I think ezequielg too [12:16]
ezequielgindeed. [12:17]
hverkuiland I know dafna2 will be there as well :-) [12:17]
ezequielgand bbrezillon iirc. [12:17]
hverkuilndufresne: will you attend the ELCE? [12:18]
bbrezillonhverkuil: yep, I'll be there, and I'm definitely interested [12:18]
hverkuilpinchartl: will you be there as well?
(esp. w.r.t. libcamera discussions)
[12:19]
pinchartlhverkuil: I will be there
I'll be available on the Thursday after the conference
or during the conference
there will be a presentation about libcamera at ELCE
[12:21]
hverkuilpinchartl: great.
I might decide to attend the Automated Testing Summit on the Thursday, depending on the program. But we should be able to find time during the conference at least.
[12:31]
pinchartlI was considering it too, but I don't think it brings that much value in the areas I'm interested in
I'm more focussed on efforts regarding writing tests than endlessly discussing Fuego vs. Jenkins vs. ...
[12:36]
jmondiI'm attending ELC-E and beside the libcamera presentation, I would love to be in the same room (again) with sailus to keep discussing about multiplexed stream support :) [12:37]
hverkuilpinchartl: that's why I am waiting to see the program before making a decision :-)
sailus: do you know yet if you will attend the ELCE?
tfiga: ndufresne: ezequielg: mripard: bbrezillon: svarbanov: pH5: gnurou: mjourdan: paulk-leonov: please review https://patchwork.linuxtv.org/project/linux-media/list/?series=547
If there are no more comments, then I want to make a PR for patches 1-7 and possibly 8 on Friday.
[12:37]
sailushverkuil: I haven't planned to travel there yet, at least.
Any particular reason why you're asking?
Ah, libcamera.
[12:44]
jmondiand multiplexed streams :) [12:44]
sailusOh well. [12:44]
hverkuilsailus: your Ack for the stm32-dcmi driver is for the whole series? Just to confirm. [12:45]
sailushverkuil: I only acked the first patch.
I'm frankly not at all certain I like v5 better than v2.
For instance, what'll happen when the bridge doesn't use the same format on its sink and source pads?
With MC, the user would be responsible for configuring that, but with stm32-dcmi, it's inside the driver.
[12:45]
hverkuilLooking at the code this seems to be handled correctly: it negotiates a valid media bus format with the sensor (that's already in the current driver), then propagates that through the pipeline. [12:57]
ezequielgmchehab: hey Mauro, are you OK with "[PATCH] media: Clarify how menus are hidden by SUBDRV_AUTOSELECT" https://patchwork.linuxtv.org/patch/57766/? [13:06]
sailushverkuil: For some formats setting the format on the sensor may not work. [13:13]
.... (idle for 18mn)
hverkuilsailus: can you reply with your concerns? [13:31]
sailusYeah.
A little later today.
[13:32]
hverkuilthanks! [13:32]
........... (idle for 52mn)
mani_sCan someone review this patchset? https://lkml.org/lkml/2019/8/6/489
sailus, hverkuil ^
[14:24]
..... (idle for 20mn)
sailusmani_s: Possibly today, more likely tomorrow. [14:46]
hfrsailus: Hi Sakari, so your acked-by was only for patch 1/3 ?
sailus: r you available to discuss on what remains ?
[14:49]
sailusYes.
And yes.
I have time now, if you're around as well.
[14:49]
hfryes [14:50]
sailusThe media bus formats may be different on each pad of the bridge subdev.
Does setting the format work currently for such formats?
As far as I can see, the dcmi driver is attempting to set the parallel variant of the format on the sensor --- that is CSI-2.
In many cases the formats are the same but not always.
[14:50]
hfras the mipid02 bridge do not make format conversion I haven't encountered this case yet [14:52]
sailusThe formats used on CSI-2 are those parallel formats that transfer a sample on a single cycle. [14:53]
hfrI remember of a conversion func inside mipid02, let me check [14:53]
sailusLooking at the driver, there are some JPEG and RGB formats using two clocks per sample. [14:54]
hfrstatic __u32 serial_to_parallel_code(__u32 serial)
{
if (serial == MEDIA_BUS_FMT_UYVY8_1X16)
return MEDIA_BUS_FMT_UYVY8_2X8;
if (serial == MEDIA_BUS_FMT_BGR888_1X24)
return MEDIA_BUS_FMT_BGR888_3X8;
in mipid02
[14:56]
sailusI guess the dcmi driver could figure that out, in principle. [14:58]
hfrit's not crystal clear to me the serial format versus parallel format
I have checked other CSI-2 drivers as well and they are handling parallel format, so I'm confused
[14:58]
sailusAll of the above formats are being used on parallel busses but on serial busses we opted to use the parallel formats using a sample / single clock.
So you shouldn't be able to find a CSI-2 driver that uses yXz variant where y is greater than one.
[14:59]
hfrov5645.c is CSI-2 and support MEDIA_BUS_FMT_UYVY8_2X8
same for ov5640
which is CSI and //
[15:02]
sailusIn other words, if you're trying to set such a format on a driver for a device using CSI-2, you can't expect it to work.
That may be a driver bug.
Most likely it is.
[15:02]
hfrhttps://patchwork.kernel.org/patch/10986315/
so this patch is not good
and ov5640 is also not OK
as 5645
and certainly many others
So I wonder: if a sensor driver support both parallel and CSI-2 output, there will be 2 different bus formats for the same pixel format, for example RGB565
or YUYV
how to handle this ?
this is why I made it simple: align on parallel ones...
[15:06]
sailusThe driver is responsible for supporting the correct format, depending on which bus type is used. [15:10]
hfrso how to move forward on this ? [15:12]
sailusOne way is to take that change in the media bus code in the function handling the pipeline configuration.
I guess a comment beginning with FIXME and explaining the situation would do as well.
[15:13]
hfrok, so in dcmi_pipeline_s_fmt()
at comment /* Propagate format on sink pad if any, otherwise source pad */
before call of v4l2_subdev_call(subdev, pad, set_fmt, pad_cfg, &fmt);
[15:16]
sailusYou'd basically need to walk the pipeline backwards while configuring the formats on the way to see which format to set on the sensor. [15:17]
hfrformat is asked by user, so I have to find the closest one supported by driver, something like that
I don't feel cumfortable with that
I could at least do similarly as in mipid02 in func: serial_to_parallel_code
for ex. convert RGB565_2X8_LE to RGB565_1X16
[15:18]
sailushfr: A question: is mipid02 a hardware block inside a SoC, or can it be found as a discrete chip? [15:20]
hfrdiscrete chip [15:21]
sailusOtherwise you could have assumed you have mipid02 (and no other bridge chip) connected. [15:22]
hfrMore generally, with bridges that handles bus code conversions, how is solved the pipeline negotiation ? [15:24]
sailusGenerally the formats along the pipeline are configured from the user space. [15:25]
hfrOK, but anyway the userspace has to solve it [15:26]
sailusFor in the general case it's unfeasible to configure them purely based on the in-memory format. [15:26]
hfrWhat I have seen for the time being is hardcoded values in pipeline [15:28]
sailusThat may be, but it's still use case specific. [15:28]
hfrcoming back on dcmi, I can do something quite simple: if subdev_call(s_fmt) fails, I try with the serial equivalent code
for ex. RGB565_2X8_LE to RGB565_1X16, YUYV8_2X8 => YUYV8_1X16, ...
or I can use an information from the subdev pad that this pad only support serial codes
and do the conversion based on this
I don't know if I have this information somewhere
searching in platform drivers, I see that rcar-csi2.c is handling some"2X" formats:
{ .code = MEDIA_BUS_FMT_UYVY8_2X8, .datatype = 0x1e, .bpp = 16 },
{ .code = MEDIA_BUS_FMT_YUYV10_2X10, .datatype = 0x1e, .bpp = 20 },
{ .code = MEDIA_BUS_FMT_YUYV8_1X16, .datatype = 0x1e, .bpp = 16 },
{ .code = MEDIA_BUS_FMT_UYVY8_2X8, .datatype = 0x1e, .bpp = 16 },
ok so they accept both parallel and serial bus code, for which the same value is configured to 0x1e/16
isn't it the best to do to get rid of this problem ?
[15:30]
sailusCSI-2 drivers shouldn't need to deal with different mbus codes for the same format.
That's why only one is used.
[15:43]
hfranother option: does the subdev_call(s_fmt) behaves as its V4L2 equivalent, ie if we set a format, the subdev driver will configure itself on the closest one that it can handle and return this format
?
so dcmi could inject the // bus code and receive in return the serial code
[15:46]
sailusSorry, no; you can't work around bugs in your driver in all other drivers. [15:48]
hfrok, so I will add a FIXME that this code will not work for some parallel codes ? [15:53]
sailusThat's ok for me if Hans agrees.
I'll check again the set.
I'll need to leave now, back tomorrow if not earlier.
[15:56]
hfrOK, thanks for all Sailus ! [15:58]
.............................................. (idle for 3h46mn)
ezequielgpaulk-leonov: Hi Paul! I have just submitted a v5 for the h264 series, this is tested on cedrus (same as v4). Do you think you can take a look at the cedrus patches? [19:44]
koikeHi sailus , quick question regarding your review on rockchip isp1 driver: I'm trying to aliminate the array "p->subdevs[p->num_subdevs++] = sd;" , so I'm looking to omap3isp, when v4l2_subdev_call(... s_stream, on) fail, should it call v4l2_subdev_call(..., s_stream, off) to the ondes that didn't fail at https://git.linuxtv.org/media_tree.git/tree/drivers/media/platform/omap3isp/isp.c#n709 ?
sailus: I'm just wondering if omap3isp is wrong or if I can do the same
[19:58]
............ (idle for 59mn)
sailuskoike: In general, yes.
The subdevs that started streaming need to be stopped if another one failed.
Otherwise those subdevs will continue to be in streaming state, well, forever.
[21:00]
.................... (idle for 1h37mn)
koikesailus: right, thanks, then omap3isp doesn't seem to be doing that (I can send a patch against omap3isp but I won't be able to test it) [22:38]
I'm having a hard time finding a good example, camcss-video.c also seems to be doing the same [22:50]
xilinx-dma.c also seems to do the wrong thing, the only one I found that looks correct is omap4iss/iss.c [23:00]

↑back Search ←Prev date Next date→ Show only urls(Click on time to select a line by its url)