Re: [linux-sunxi] Cedrus driver

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

 



On 28-11-17 13:26, Maxime Ripard wrote:
> On Tue, Nov 28, 2017 at 12:20:59PM +0100, Thomas van Kleef wrote:
>>> So, I have been rebasing to 4.14.0 and have the cedrus driver working.
>> I have pulled linux-mainline 4.14.0. Then pulled the requests2 branch from Hans
>> Verkuil's media_tree. I have a patch available of the merge between these 2
>> branches.
>> After this I pulled the sunxi-cedrus repository from Florent Revests github. I
>> believe this one is the same as the ones you are cloning right now.
>> I have merged this and have a patch available for this as well.
>>
>> So to summarize:
>>  o pulled linux 4.14 from:
>>     https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>  o pulled requests2 from:
>>     https://git.linuxtv.org/hverkuil/media_tree.git?h=requests2
>>     will be replaced with the work, when it is done, in:
>>      https://git.linuxtv.org/hverkuil/media_tree.git?h=ctrl-req-v2
>>  o pulled linux-sunxi-cedrus from:
>>     https://github.com/FlorentRevest/linux-sunxi-cedrus
>>
>>  o merged and made patch between linux4.14 and requests2
>>  o merged and made patch with linux-sunxi-cedrus
>>  o Verified that the video-engine is decofing mpeg-2 on the Allwinner A20.
>>
>> So maybe if someone is interested in this, I could place the patches somewhere?
>> Just let me know.
> 
> Please create a pull request on the github repo. The point we set it
> up was to share code. Forking repos and so on is kind of pointless.
> 
So, I started with linux-mainline 4.14 and created a pull request with that commit.
Never made one before so if I did something wrong tell me.

The following changes since commit e1d1ea549b57790a3d8cf6300e6ef86118d692a3:

  Merge tag 'fbdev-v4.15' of git://github.com/bzolnier/linux (2017-11-20 21:50:24 -1000)

are available in the git repository at:

  https://github.com/thomas-vitsch/linux-a20-cedrus.git 

for you to fetch changes up to 508ad12eb737fde07f4a25446ed941a01480d6dc:

  Merge branch 'master' of https://github.com/thomas-vitsch/linux-a20-cedrus into linux-sunxi-cedrus-a20 (2017-11-28 15:28:18 +0100)

----------------------------------------------------------------
Bob Ham (1):
      sunxi-cedrus: Fix compilation errors from bad types under GCC 6.2

Florent Revest (8):
      cherry-pick sunxi_cedrus
      cherry-pick sunxi_cedrus
      v4l: Add MPEG4 low-level decoder API control
      media: platform: Add Sunxi Cedrus decoder driver
      sunxi-cedrus: Add a MPEG 2 codec
      sunxi-cedrus: Add a MPEG 4 codec
      sunxi-cedrus: Add device tree binding document
      cherry-pick sunxi_cedrus

Hans Verkuil (15):
      videodev2.h: add max_reqs to struct v4l2_query_ext_ctrl
      videodev2.h: add request to v4l2_ext_controls
      videodev2.h: add request field to v4l2_buffer.
      vb2: add allow_requests flag
      v4l2-ctrls: add request support
      v4l2-ctrls: add function to apply a request.
      v4l2-ctrls: implement delete request(s)
      v4l2-ctrls: add VIDIOC_REQUEST_CMD
      v4l2: add initial V4L2_REQ_CMD_QUEUE support
      vb2: add helper function to queue request-specific buffer.
      v4l2-device: keep track of registered video_devices
      v4l2-device: add v4l2_device_req_queue
      vivid: add request support for video capture.
      v4l2-ctrls: add REQ_KEEP flag
      Documentation: add v4l2-requests.txt

Icenowy Zheng (2):
      sunxi-cedrus: add syscon support
      cherry-pick sunxi_cedrus

Thomas van Kleef (11):
      Appears that the requests2 API is currently based on linux 3.9 :(. Made some changes that needed to be merged manually, let's hope I did not make to many errors
      Fixed last missing calls for a buildable kernel with the requests2 API. Tested with a mock mem2mem device which selects the VIDEOBUF2_CORE.
      Kconfig option used to enable the VIDEOBUF2_CORE
      Fix sun5i-a13 merge errors. Mainline has moved some device nodes which resulted in nodes existing multiple times in device trees.
      o Added reserved memory region for the video-engine.     o Added device node for the video engine.
      style commit
      Apply patch which adds requests2 branch from media-tree:     https://git.linuxtv.org/hverkuil/media_tree.git?h=requests2
      Apply patch which adds linux-sunxi-cedrus from: https://github.com/FlorentRevest/sunxi-cedrus-drv-video
      Add reserved region and video-engine node to sun7i.dtsi
      Merge branch 'master' of https://github.com/thomas-vitsch/linux-a20-cedrus into linux-a20-cedrus
      Merge branch 'master' of https://github.com/thomas-vitsch/linux-a20-cedrus into linux-sunxi-cedrus-a20

Vitsch Electronics (1):
      Update README

 .../devicetree/bindings/media/sunxi-cedrus.txt     |   44 +
 Documentation/video4linux/v4l2-requests.txt        |  233 ++
 README                                             |   18 +-
 arch/arm/boot/dts/sun5i-a13-difrnce-dit4350.dts    |   50 -
 arch/arm/boot/dts/sun5i-a13.dtsi                   |   30 +
 arch/arm/boot/dts/sun7i-a20.dtsi                   |   44 +
 arch/arm/boot/dts/sun8i-a33.dtsi                   |   45 +-
 arch/arm/configs/xpo_player_v1_defconfig           | 3507 ++++++++++++++++++++
 drivers/media/platform/Kconfig                     |   13 +
 drivers/media/platform/Makefile                    |    1 +
 drivers/media/platform/sunxi-cedrus/Makefile       |    4 +
 drivers/media/platform/sunxi-cedrus/sunxi_cedrus.c |  285 ++
 .../platform/sunxi-cedrus/sunxi_cedrus_common.h    |  104 +
 .../media/platform/sunxi-cedrus/sunxi_cedrus_dec.c |  588 ++++
 .../media/platform/sunxi-cedrus/sunxi_cedrus_dec.h |   33 +
 .../media/platform/sunxi-cedrus/sunxi_cedrus_hw.c  |  180 +
 .../media/platform/sunxi-cedrus/sunxi_cedrus_hw.h  |   39 +
 .../platform/sunxi-cedrus/sunxi_cedrus_mpeg2.c     |  152 +
 .../platform/sunxi-cedrus/sunxi_cedrus_mpeg4.c     |  140 +
 .../platform/sunxi-cedrus/sunxi_cedrus_regs.h      |  170 +
 drivers/media/platform/vivid/vivid-core.c          |    2 +
 drivers/media/platform/vivid/vivid-ctrls.c         |    4 +
 drivers/media/platform/vivid/vivid-kthread-cap.c   |    2 +
 drivers/media/usb/cpia2/cpia2_v4l.c                |    1 +
 drivers/media/v4l2-core/v4l2-compat-ioctl32.c      |    4 +-
 drivers/media/v4l2-core/v4l2-ctrls.c               |  460 ++-
 drivers/media/v4l2-core/v4l2-dev.c                 |    9 +
 drivers/media/v4l2-core/v4l2-device.c              |   26 +
 drivers/media/v4l2-core/v4l2-ioctl.c               |  121 +-
 drivers/media/v4l2-core/v4l2-subdev.c              |   78 +-
 drivers/media/v4l2-core/videobuf2-v4l2.c           |   28 +
 include/media/v4l2-ctrls.h                         |   35 +-
 include/media/v4l2-dev.h                           |    3 +
 include/media/v4l2-device.h                        |    6 +
 include/media/v4l2-fh.h                            |    4 +
 include/media/videobuf2-core.h                     |    3 +
 include/media/videobuf2-v4l2.h                     |    4 +
 include/uapi/linux/v4l2-controls.h                 |   68 +
 include/uapi/linux/videodev2.h                     |   43 +-
 39 files changed, 6438 insertions(+), 143 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/sunxi-cedrus.txt
 create mode 100644 Documentation/video4linux/v4l2-requests.txt
 delete mode 100644 arch/arm/boot/dts/sun5i-a13-difrnce-dit4350.dts
 create mode 100644 arch/arm/configs/xpo_player_v1_defconfig
 create mode 100644 drivers/media/platform/sunxi-cedrus/Makefile
 create mode 100644 drivers/media/platform/sunxi-cedrus/sunxi_cedrus.c
 create mode 100644 drivers/media/platform/sunxi-cedrus/sunxi_cedrus_common.h
 create mode 100644 drivers/media/platform/sunxi-cedrus/sunxi_cedrus_dec.c
 create mode 100644 drivers/media/platform/sunxi-cedrus/sunxi_cedrus_dec.h
 create mode 100644 drivers/media/platform/sunxi-cedrus/sunxi_cedrus_hw.c
 create mode 100644 drivers/media/platform/sunxi-cedrus/sunxi_cedrus_hw.h
 create mode 100644 drivers/media/platform/sunxi-cedrus/sunxi_cedrus_mpeg2.c
 create mode 100644 drivers/media/platform/sunxi-cedrus/sunxi_cedrus_mpeg4.c
 create mode 100644 drivers/media/platform/sunxi-cedrus/sunxi_cedrus_regs.h


>> It would be nice to be able to play a file, so I would have to prepare our
>> custom player and make a patch between the current sunxi-cedrus-drv-video and
>> the one on https://github.com/FlorentRevest/sunxi-cedrus-drv-video.
>> So I will start with this if there is any interest.
>>
>> Should I be working in sunxi-next I wonder?
> 
> I'd rather stick on 4.14. sunxi-next wouldn't bring any benefit, and
> we want to provide something that works first, and always merging next
> will always distract us from the actual code.
> 
> Maxime
> 

Thomas van Kleef
Vitsch Electronics
http://Vitsch.nl/
http://VitschVPN.nl/
tel: +31-(0)40-7113051
KvK nr: 17174380
BTW nr: NL142748201B01
-- 
Machines en netwerken op afstand beheren? Vitsch VPN oplossing!
Kijk voor meer informatie op: http://www.VitschVPN.nl/



[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