Re: [media-workshop] Barcelona Media Summit Report

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hans & others,

Sorry, only today I had time to dig into the Barcelona's media summit report.

I have a few comments for it below.

Regards,
Mauro

Em Fri, 16 Nov 2012 13:58:54 +0100
Hans Verkuil <hverkuil@xxxxxxxxx> escreveu:

> Hi all,
> 
> This is the report of the Barcelona Media Summit on November 8. For those who
> were in attendence: please correct any mistakes I may have made.
> 
> My presentation for the 'Minimum Requirements for New Drivers' and the 'V4L2
> Ambiguities' can be found here:
> 
> http://hverkuil.home.xs4all.nl/presentations/ambiguities2.odp
> 
> I'd appreciate it if other presentations shown during the meeting can be made
> available as well.
> 
> Enjoy!
> 
> 	Hans
> 
> Merging Process
> ===============
> 
> The morning was spent discussing the merging process. Basically the number of
> patch submissions increased from 200 a month two years ago to 700 a month this
> year. Mauro is unable to keep up with that flood and a solution needed to be
> found.
> 
> Mauro explained the current merge process, and after that the floor was opened
> for discussions.
> 
> One of the problems is that it can be difficult to categorize patches since
> often they are just prefixed with [PATCH]. Depending on who mailed it that
> might mean an urgent regression fix, a patch that's ready to be merged or a
> patch that needs review. There is no reliable way of knowing that without
> actually looking at the mail.
> 
> One thing that we want to improve is to make sure that the regular contributors
> at least use well defined patch prefixes. That means that we need a standard
> prefix for regression fixes that need to go into the current rcX kernel asap.
> This will make it easy to recognize them. We also need a prefix for patches that
> we want to have reviewed before a final git pull request is posted. 

> Laurent will look into extending patchwork to have such patches be marked as 
> 'Under Review' automatically.

Actually, 'Under Review' patchwork tag is used just to indicate that a patch got
delegated to someone's queue, not that such patch is more critical.

What it was agreed, instead, is that:

"Laurent will work into extending patchwork to delegate patches to
 sub-maintainers when they arrive there."

By splitting the patch when it arrives to the sub-maintainers trees, the
time from when it arrives to when it starts to be seen by the delegated
people reduces a lot.

> There is a distinction between RFC patches and patches you consider final (i.e.
> ready for merging), but want people to look at. RFC patches will typically need
> more work, but you want people to check it out and make sure you are going in
> the right direction. Review patches are what you consider the final version, but
> you want to give people a final chance to comment on them before posting the pull
> request.
> 
> We also want to improve the MAINTAINERS file: it must be complete (with the
> exception of RC keymaps, 
	and the RC/V4L2/DVB core
> where that doesn't make sense). 

> When posting review
> patches the reviewed-by/acked-by from the actual person mentioned in the
> MAINTAINERS file is sufficient to get the patch merged.

It is not a sufficient requirement: it should still follow the submission
rules, use the right API, doesn't reinvent the wheel, doesn't create private
APIs, etc. 

I think you meant to say, instead:

	"A patch reviewed-by/acked-by from the actual person mentioned in the
	 MAINTAINERS file and that follows the submission rules can be considered
	 with enough review for its merge."

> Obviously, if someone
> not responsible for the driver in question has good technical arguments why
> it's wrong, then that should be taken into account.
> 
> In addition, the current list of media driver maintainers in that file needs
> to be validated: are all emails still current, and is everyone still willing
> to maintain their driver?
> 
> New drivers also must come with a MAINTAINERS entry.
> 
> In other words, the MAINTAINERS file will become more important.
> 
> The final decision we made was to appoint submaintainers of parts of the media
> subsystem. Those submaintainers will take over Mauro's job for those parts
> that they are responsible for, and make periodic pull requests to Mauro to
> pull in the patches they have collected.

I'll still be analyzing the patches, as a double-review doesn't hurt.

> 
> The submaintainers will be:
> 
> - Mike Krufky: frontends/tuners/demodulators
> 	In addition he'll be the reviewer for DVB core patches.

As I commented before:
	s/the reviewer/a reviewer/

> - Hans Verkuil: V4L2 drivers and video A/D and D/A subdev drivers (aka video
> 	receivers and transmitters). In addition he'll be the reviewer for
> 	V4L2 core patches.

As I commented before:
	s/the reviewer/a reviewer/

On both cases, we do want more reviewers for the core.

> - Laurent Pinchart: sensor subdev drivers
> - Kamil Debski: codec (aka memory-to-memory) drivers
> - Hans de Goede: non-UVC USB webcam drivers
> - Guennadi Liakhovetski: soc-camera drivers
> 
> In addition, certain SoC vendors will remain responsible for their own drivers
> (Samsung, TI) and will keep sending them straight to Mauro.
> 
> The first step is to get the MAINTAINERS file into shape and to improve
> patchwork, after that we need to clearly document the new structure.

> Only when that is done do the new submaintainers start their work.

That's not a mandatory requirement. Btw, Michael already started 
sub-maintaining.

We decided to postpone the switch over to Jan/Feb 2013 much more due
to practical reasons: most people had lots of things to finish by the
end of the year, and some would take vacations at the beginning of 2013.
Also, patchwork/MAINTAINERS change helps to make sub-maintainers' life
easier.

I expect that it will take maybe 2-3 months before we have it fully
working as we would like, after having the patchwork delegation fixed.

> Requirements for New V4L2 Drivers
> =================================
> 
> The next topic was to document the requirements for new drivers.
> 
> For the staging tree we want drivers to compile at the time of submission.
> That is all it should take to be accepted into staging.

The wording "That is all" is very dangerous, as it doesn't allow any
exception. I would say, instead:

	"Typically, that is all it should take to be accepted into staging."

While this wasn't discussed there, "compile" also means no compilation 
warnings at the time of submission ;)

Due to our recent experiences with one submission for staging, I'd
say that a driver submitted for staging is a driver that are meant to be
promoted one day as a main driver, and someone will actively work on
them. So, drivers that can't be promoted to a main driver won't be 
merged at staging (e. g. drivers for already supported hardware,
utterly bogus drivers, ...).

In other words, (sub)maintainers should use their good sense and
can/should reject drivers for staging according to their criteria.

> For inclusion into the mainline kernel we require the following:

It should say, instead:
	"For inclusion of pure V4L2 drivers into the mainline kernel
	 we require the following:"

> 
> - Use struct v4l2_device for bridge drivers, use struct v4l2_subdev for
>   sub-device drivers.
> - Use the control framework for control handling.
> - Use struct v4l2_fh if the driver supports events (implied by the use of
>   controls) or priority handling.
> - Use videobuf2 for buffer handling. Mike Krufky will look into extending
>   vb2 to support DVB buffers.
> - Must pass the v4l2-compliance tests.

Please add:

	"The criteria for DVB and hybrid V4L2 and DVB drivers should be discussed
	 further at the ML."
> 
> This will be documented as well in Documentation/video4linux/SubmittingDrivers.txt.
> 
> 
> V4L2 Ambiguities
> ================
> 
> In San Diego we discussed a lot of V4L2 ambiguities and how to resolve them,
> but we didn't have time to go through all of them. We finished it in Barcelona.
> 
> - What to do if the colorspace is unknown? This happens with UVC webcams that
>   do not report this. The decision was to make a V4L2_COLORSPACE_UNKNOWN. If
>   that is reported, then no colorspace conversion should be attempted by the
>   application.
> 
> - Pixel Aspect Ratio: currently this is only available from VIDIOC_CROPCAP,
>   which conflicts with the new selection API, and it doesn't really belong
>   there anyway.
> 
>   The decision was to implement the pixel aspect ratio as a control, which
>   implies adding a control type for fractions. This needs good documentation
>   and a code example.
> 
> - Should we add a QUERYCAP ioctl for subdevice nodes? The conclusion was that
>   we should add a VIDIOC_SUBDEV_QUERYCAP ioctl. Initially that just needs a
>   version field and some reserved fields and it can be handled in v4l2-subdev.c.
> 
> - Tuner ownership: how should the tuner ownership be handled? The proposal
>   I wrote for this was accepted, with the addition that the code to handle
>   tuner ownership should be shared between DVB and V4L2. I have my name
>   and Hans de Goede's name next to this topic, but I've forgotten what we
>   were supposed to do :-)
> 
> 
> Transport Stream Muxer
> ======================
> 
> ST discussed how to design a driver for a hardware Transport Stream Muxer:
> this hardware contains a number of DMA engines allowing many transport streams
> (up to 8192, which is the theoretical maximum) to be muxed into a single big
> transport stream.
> 
> Due to the large number of possible transport streams one cannot make a video
> node for each of them. So the solution is to have one memory-to-memory device.
> Every time it is opened you make a new context (filehandle specific) and after
> setting up the PID (and possibly other (meta) data) you can write the TS to it.
> There is only one output stream, though. Perhaps we need a new /dev/tsmuxX
> device node for this, that's still to be decided.
> 
> ST will make an RFC for this idea to discuss this further on the mailinglist.
> 
> 
> DMABUF Testing
> ==============
> 
> Progress had been made on this: Laurent showed UVC using DMABUF passing the buffer
> directly to the i915 GPU.
> 
> 
> Asynchronous Loading for Device Tree
> ====================================
> 
> The device tree patches posted by Guennadi were well received, but the part
> dealing with async loading of devices led to a lot of discussion on the
> mailinglist so we tried to come to a conclusion during the summit meeting.
> 
> The current patch uses a field in the platform_data of a subdevice to detect
> whether the bridge driver was present. A better solution is to check for the
> presence of required resources (e.g. a clock) instead: if not present, then
> defer probing.
> 
> It was noted that the asynchronous behavior of the device tree will lead to
> subdevices that are loaded in a random order. This might cause subtle problems
> in the future if the order of device initialization matters for certain boards.
> It shouldn't matter, but theory and reality are different things. There is
> nothing that can be done about it at the moment. Should this become a problem,
> then that should be discussed with the DT developers since this is a DT problem
> and is not specific to V4L2.
> 
> The 'group' idea in the async loading patches wasn't liked. Instead the suggestion
> was to provide two different notification methods: a notification when the last
> required subdev is loaded, and a notification for each loaded subdev. The latter
> can be used when not all subdevs might be present. In that case the bridge driver
> needs to be able to decide when sufficient subdevs were found in order to start up.
> 
> 
> Conclusion
> ==========
> 
> We managed to get through all topics during this one-day summit, so it was very
> productive. I'd like to thank all who were there, it's always a pleasure to meet
> you all!
> 
> Regards,
> 
> 	Hans Verkuil
> 
> _______________________________________________
> media-workshop mailing list
> media-workshop@xxxxxxxxxxx
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/media-workshop


-- 

Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux