Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp851921imm; Fri, 5 Oct 2018 12:58:21 -0700 (PDT) X-Google-Smtp-Source: ACcGV62LfQ2YPakudLxvkf9TGqRsBT88ZJxRGVME74qmk8XbH/F1KP3KJcSeT2DrYhLL6lWlNhVQ X-Received: by 2002:a17:902:8543:: with SMTP id d3-v6mr13324618plo.81.1538769501325; Fri, 05 Oct 2018 12:58:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538769501; cv=none; d=google.com; s=arc-20160816; b=KYsfeueMj900wF1a9Cbe3TKJLP/bOL5rhqGr/o3lvN/YMdxiZRX+u1FeBSM+3Qa/cj JgJkiwEdTf+RsXAZOpPLCwCr4k9t1nXDIwM52ySWM/a+XM4IrGmdshlW5ZvAO1FQmDp+ xQeE+Kd9T/27weIYEvbyL/fWWZH91spg0w3d1vLmieN3arXNjLwaqju3wkycvhLsaqDX OcF+HpLN9Ht82KInIgZlHt05fh30BoyN8RIXAir6RUucxxpANCRUPBxviM86e6jcHamQ UJuZg7aom6z2UQuSpnlgXVOe7kQabTe6rxrfmgT8D3WxLKl8jigxNSyCqaHd/pYGD+sG PBew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=NYDVrZb67loPv6K8Ek3rBozCBM1KmOLBtDxKyGfJVqs=; b=olwUaBa26cMG3z6NFPuGcioP3yhBwPkNeIw4IZQaKWc4ZrL+B63EQKyI4qNCjZ7197 rFm+fOSm91b+dPhLXDEsXWtw+glGHK4bbnSXJ3mNLvp4KBUHSroy5UP3sWZ9UL6+SNcU pqfDIfhFJlQgIFO+GAW5AndxtOPiciD9sVik7IRs0ByCGPIKmEvdMFQNblX8Nnu80oVR Wv4Hs5w+D8yb2LAKIM4RtQthwziWiIRaQVrecxCHgVtYn1MPq4G4uNfjjsnplxSrgmIA 5WSaH1xEYnRcOO3q8trpgpsguyLypjIFDhPY3iBYiNn3gkPAuW8jaCwNRUjTWJ6RmKB5 VV4w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x13-v6si8110545pgq.357.2018.10.05.12.58.03; Fri, 05 Oct 2018 12:58:21 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728643AbeJFC6L (ORCPT + 99 others); Fri, 5 Oct 2018 22:58:11 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:55156 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728293AbeJFC6K (ORCPT ); Fri, 5 Oct 2018 22:58:10 -0400 Received: from pps.filterd (m0098394.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w95Jnavo092675 for ; Fri, 5 Oct 2018 15:57:55 -0400 Received: from e17.ny.us.ibm.com (e17.ny.us.ibm.com [129.33.205.207]) by mx0a-001b2d01.pphosted.com with ESMTP id 2mxe6b94jk-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 05 Oct 2018 15:57:55 -0400 Received: from localhost by e17.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 5 Oct 2018 15:57:54 -0400 Received: from b01cxnp23032.gho.pok.ibm.com (9.57.198.27) by e17.ny.us.ibm.com (146.89.104.204) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Fri, 5 Oct 2018 15:57:50 -0400 Received: from b01ledav002.gho.pok.ibm.com (b01ledav002.gho.pok.ibm.com [9.57.199.107]) by b01cxnp23032.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w95Jvn7Q26214516 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 5 Oct 2018 19:57:49 GMT Received: from b01ledav002.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BD60B12405A; Fri, 5 Oct 2018 16:57:41 -0400 (EDT) Received: from b01ledav002.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DD27B124055; Fri, 5 Oct 2018 16:57:40 -0400 (EDT) Received: from talon7.ibm.com (unknown [9.41.179.222]) by b01ledav002.gho.pok.ibm.com (Postfix) with ESMTP; Fri, 5 Oct 2018 16:57:40 -0400 (EDT) From: Eddie James To: linux-kernel@vger.kernel.org Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, linux-aspeed@lists.ozlabs.org, andrew@aj.id.au, openbmc@lists.ozlabs.org, hverkuil@xs4all.nl, robh+dt@kernel.org, mchehab@kernel.org, linux-media@vger.kernel.org, joel@jms.id.au, Eddie James Subject: [PATCH v4 0/2] media: platform: Add Aspeed Video Engine Driver Date: Fri, 5 Oct 2018 14:57:44 -0500 X-Mailer: git-send-email 1.8.3.1 X-TM-AS-GCONF: 00 x-cbid: 18100519-0040-0000-0000-0000047BE0CD X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00009825; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000267; SDB=6.01098369; UDB=6.00568106; IPR=6.00878409; MB=3.00023633; MTD=3.00000008; XFM=3.00000015; UTC=2018-10-05 19:57:52 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18100519-0041-0000-0000-00000883EDD4 Message-Id: <1538769466-14860-1-git-send-email-eajames@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-10-05_09:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1810050190 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The Video Engine (VE) embedded in the Aspeed AST2400 and AST2500 SOCs can capture and compress video data from digital or analog sources. With the Aspeed chip acting as a service processor, the Video Engine can capture the host processor graphics output. This series adds a V4L2 driver for the VE, providing the usual V4L2 streaming interface by way of videobuf2. Each frame, the driver triggers the hardware to capture the host graphics output and compress it to JPEG format. v4l-utils HEAD 3598047c70e395d8ee0da5519996bc0126f18262 v4l2-compliance SHA: not available, 32 bits Compliance test for device /dev/video0: Driver Info: Driver name : aspeed-video Card type : Aspeed Video Engine Bus info : platform:aspeed-video Driver version : 4.18.8 Capabilities : 0x85200001 Video Capture Read/Write Streaming Extended Pix Format Device Capabilities Device Caps : 0x05200001 Video Capture Read/Write Streaming Extended Pix Format Required ioctls: test VIDIOC_QUERYCAP: OK Allow for multiple opens: test second /dev/video0 open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK Debug ioctls: test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) test VIDIOC_LOG_STATUS: OK (Not Supported) Input ioctls: test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported) test VIDIOC_ENUMAUDIO: OK (Not Supported) test VIDIOC_G/S/ENUMINPUT: OK test VIDIOC_G/S_AUDIO: OK (Not Supported) Inputs: 1 Audio Inputs: 0 Tuners: 0 Output ioctls: test VIDIOC_G/S_MODULATOR: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_ENUMAUDOUT: OK (Not Supported) test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) test VIDIOC_G/S_AUDOUT: OK (Not Supported) Outputs: 0 Audio Outputs: 0 Modulators: 0 Input/Output configuration ioctls: test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK test VIDIOC_DV_TIMINGS_CAP: OK test VIDIOC_G/S_EDID: OK (Not Supported) Control ioctls (Input 0): test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK test VIDIOC_QUERYCTRL: OK test VIDIOC_G/S_CTRL: OK test VIDIOC_G/S/TRY_EXT_CTRLS: OK warn: v4l2-test-controls.cpp(845): V4L2_CID_DV_RX_POWER_PRESENT not found for input 0 test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 3 Private Controls: 0 Format ioctls (Input 0): test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK test VIDIOC_G_FBUF: OK (Not Supported) test VIDIOC_G_FMT: OK test VIDIOC_TRY_FMT: OK test VIDIOC_S_FMT: OK test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) test Cropping: OK (Not Supported) test Composing: OK (Not Supported) test Scaling: OK (Not Supported) Codec ioctls (Input 0): test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported) test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) Buffer ioctls (Input 0): test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test VIDIOC_EXPBUF: OK (Not Supported) Test input 0: Streaming ioctls: test read/write: OK test blocking wait: OK test MMAP: OK test USERPTR: OK (Not Supported) test DMABUF: Cannot test, specify --expbuf-device Total: 47, Succeeded: 47, Failed: 0, Warnings: 1 Changes since v3: - Switch update reg function to use u32 clear rather than unsigned long mask - Add timing information from host VGA signal - Fix binding documentation mispelling - Fix upper case hex values - Add wait_prepare and wait_finish - Set buffer state to queued (rather than error) if streaming fails to start - Switch engine busy print statement to error - Removed a couple unecessary type assignments in v4l2 ioctls - Added query_dv_timings, fixed get_dv_timings - Corrected source change event to fire if and only if size actually changes - Locked open and release Changes since v2: - Switch to streaming interface. This involved a lot of changes. - Rework memory allocation due to using videobuf2 buffers, but also only allocate the necessary size of source buffer rather than the max size Changes since v1: - Removed le32_to_cpu calls for JPEG header data - Reworked v4l2 ioctls to be compliant. - Added JPEG controls - Updated devicetree docs according to Rob's suggestions. - Added myself to MAINTAINERS Eddie James (2): dt-bindings: media: Add Aspeed Video Engine binding documentation media: platform: Add Aspeed Video Engine driver .../devicetree/bindings/media/aspeed-video.txt | 26 + MAINTAINERS | 8 + drivers/media/platform/Kconfig | 8 + drivers/media/platform/Makefile | 1 + drivers/media/platform/aspeed-video.c | 1674 ++++++++++++++++++++ 5 files changed, 1717 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/aspeed-video.txt create mode 100644 drivers/media/platform/aspeed-video.c -- 1.8.3.1