diff mbox

[v6,9/9] media: venus: enable building of Venus video driver

Message ID 1486473024-21705-10-git-send-email-stanimir.varbanov@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Stanimir Varbanov Feb. 7, 2017, 1:10 p.m. UTC
This adds Venus driver Makefile and changes v4l2 platform
Makefile/Kconfig in order to enable building of the driver.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
---
 drivers/media/platform/Kconfig             | 14 ++++++++++++++
 drivers/media/platform/Makefile            |  2 ++
 drivers/media/platform/qcom/venus/Makefile | 11 +++++++++++
 3 files changed, 27 insertions(+)
 create mode 100644 drivers/media/platform/qcom/venus/Makefile

Comments

kernel test robot Feb. 7, 2017, 10:38 p.m. UTC | #1
Hi Stanimir,

[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on v4.10-rc7 next-20170207]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Stanimir-Varbanov/Qualcomm-video-decoder-encoder-driver/20170207-222503
base:   git://linuxtv.org/media_tree.git master
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All errors (new ones prefixed by >>):

>> drivers/media/platform/qcom/venus/firmware.c:22:39: fatal error: linux/soc/qcom/mdt_loader.h: No such file or directory
    #include <linux/soc/qcom/mdt_loader.h>
                                          ^
   compilation terminated.

vim +22 drivers/media/platform/qcom/venus/firmware.c

ed2bda7e Stanimir Varbanov 2017-02-07   6   * only version 2 as published by the Free Software Foundation.
ed2bda7e Stanimir Varbanov 2017-02-07   7   *
ed2bda7e Stanimir Varbanov 2017-02-07   8   * This program is distributed in the hope that it will be useful,
ed2bda7e Stanimir Varbanov 2017-02-07   9   * but WITHOUT ANY WARRANTY; without even the implied warranty of
ed2bda7e Stanimir Varbanov 2017-02-07  10   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
ed2bda7e Stanimir Varbanov 2017-02-07  11   * GNU General Public License for more details.
ed2bda7e Stanimir Varbanov 2017-02-07  12   *
ed2bda7e Stanimir Varbanov 2017-02-07  13   */
ed2bda7e Stanimir Varbanov 2017-02-07  14  
ed2bda7e Stanimir Varbanov 2017-02-07  15  #include <linux/dma-mapping.h>
ed2bda7e Stanimir Varbanov 2017-02-07  16  #include <linux/firmware.h>
ed2bda7e Stanimir Varbanov 2017-02-07  17  #include <linux/kernel.h>
ed2bda7e Stanimir Varbanov 2017-02-07  18  #include <linux/of.h>
ed2bda7e Stanimir Varbanov 2017-02-07  19  #include <linux/of_reserved_mem.h>
ed2bda7e Stanimir Varbanov 2017-02-07  20  #include <linux/slab.h>
ed2bda7e Stanimir Varbanov 2017-02-07  21  #include <linux/qcom_scm.h>
ed2bda7e Stanimir Varbanov 2017-02-07 @22  #include <linux/soc/qcom/mdt_loader.h>
ed2bda7e Stanimir Varbanov 2017-02-07  23  
ed2bda7e Stanimir Varbanov 2017-02-07  24  #define VENUS_FIRMWARE_NAME		"venus.mdt"
ed2bda7e Stanimir Varbanov 2017-02-07  25  #define VENUS_PAS_ID			9
ed2bda7e Stanimir Varbanov 2017-02-07  26  #define VENUS_FW_MEM_SIZE		SZ_8M
ed2bda7e Stanimir Varbanov 2017-02-07  27  
ed2bda7e Stanimir Varbanov 2017-02-07  28  struct firmware_mem {
ed2bda7e Stanimir Varbanov 2017-02-07  29  	struct device dev;
ed2bda7e Stanimir Varbanov 2017-02-07  30  	void *mem_va;

:::::: The code at line 22 was first introduced by commit
:::::: ed2bda7e5a8a827a8f9e19bf828530d50e34669d media: venus: adding core part and helper functions

:::::: TO: Stanimir Varbanov <stanimir.varbanov@linaro.org>
:::::: CC: 0day robot <fengguang.wu@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Stanimir Varbanov Feb. 9, 2017, 1:38 p.m. UTC | #2
On 02/08/2017 12:38 AM, kbuild test robot wrote:
> Hi Stanimir,
> 
> [auto build test ERROR on linuxtv-media/master]
> [also build test ERROR on v4.10-rc7 next-20170207]

The error is not reproducible on v4.10-rc7 next-20170209!
diff mbox

Patch

diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 0245af0b76e0..e50d385064ff 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -393,6 +393,20 @@  config VIDEO_TI_VPE_DEBUG
 	---help---
 	  Enable debug messages on VPE driver.
 
+config VIDEO_QCOM_VENUS
+	tristate "Qualcomm Venus V4L2 encoder/decoder driver"
+	depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
+	depends on ARCH_QCOM && OF
+	depends on IOMMU_DMA
+	select QCOM_MDT_LOADER
+	select VIDEOBUF2_DMA_SG
+	select V4L2_MEM2MEM_DEV
+	---help---
+	  This is a V4L2 driver for Qualcomm Venus video accelerator
+	  hardware. It accelerates encoding and decoding operations
+	  on various Qualcomm SoCs.
+	  To compile this driver as a module choose m here.
+
 endif # V4L_MEM2MEM_DRIVERS
 
 # TI VIDEO PORT Helper Modules
diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
index 5b3cb271d2b8..d88a4e1eb850 100644
--- a/drivers/media/platform/Makefile
+++ b/drivers/media/platform/Makefile
@@ -69,3 +69,5 @@  obj-$(CONFIG_VIDEO_MEDIATEK_VPU)	+= mtk-vpu/
 obj-$(CONFIG_VIDEO_MEDIATEK_VCODEC)	+= mtk-vcodec/
 
 obj-$(CONFIG_VIDEO_MEDIATEK_MDP)	+= mtk-mdp/
+
+obj-$(CONFIG_VIDEO_QCOM_VENUS)		+= qcom/venus/
diff --git a/drivers/media/platform/qcom/venus/Makefile b/drivers/media/platform/qcom/venus/Makefile
new file mode 100644
index 000000000000..0fe9afb83697
--- /dev/null
+++ b/drivers/media/platform/qcom/venus/Makefile
@@ -0,0 +1,11 @@ 
+# Makefile for Qualcomm Venus driver
+
+venus-core-objs += core.o helpers.o firmware.o \
+		   hfi_venus.o hfi_msgs.o hfi_cmds.o hfi.o
+
+venus-dec-objs += vdec.o vdec_ctrls.o
+venus-enc-objs += venc.o venc_ctrls.o
+
+obj-$(CONFIG_VIDEO_QCOM_VENUS) += venus-core.o
+obj-$(CONFIG_VIDEO_QCOM_VENUS) += venus-dec.o
+obj-$(CONFIG_VIDEO_QCOM_VENUS) += venus-enc.o