From patchwork Tue Apr 24 12:44:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stanimir Varbanov X-Patchwork-Id: 134077 Delivered-To: patch@linaro.org Received: by 10.46.151.6 with SMTP id r6csp2189993lji; Tue, 24 Apr 2018 05:45:07 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/BW3ALx9MWf9V0gG4YUNIAqeJsC/udw6DOYtJawMmtBq/ZNlag8KzHl7AKYw7ZpjlJBNKn X-Received: by 2002:a17:902:22a:: with SMTP id 39-v6mr25071942plc.128.1524573906913; Tue, 24 Apr 2018 05:45:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524573906; cv=none; d=google.com; s=arc-20160816; b=LgPdDq6v2ZuA0FLpUyss9jesRvgSKD9ztqihHbHf8aB9Nen2d/WlUVJMenzc81kxO6 F1o+T5Ro0so0XT/ZxfKmA0QimQKb/8565tRAc+Ez8jvrHjdY+Rsjj3t/RtTQorzfL8xD Zd2tm1x7a659KLh1M7aCoonz80dewkyUx38ybbBA2iHYmpfDeVa7UkJqbAV6+VcmiLvc KZl6M75txfuUezERw1TLI6cal8jxDm+oVujif0WQXDpmb1Y0T4e9vQFJB3wA+SpD1C8R fJ5Jwibl3r0IrACJDMuoSeH7FdicumgnPmcoNQbo2OXz6+nbTrmWE3XlP78B2c4ZuYlA KJug== 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 :dkim-signature:arc-authentication-results; bh=nQCXEatzBxBDQLumWXR+sOtgbFEwGXgL2NmUeMEhZL0=; b=YhAZw60RudxqOrbrKDsaahRREoV3l3nbPsqIdxzYpdHA0F2Bv7/amw4NKln2tP9lIV R8GJULsIaGRWZVKafKHuFa0v+7Z74HKnc9ky6j4qOZDkVVhF6sY8+HjF/CdOYv/cm0Hq sbf2DmRcUtzk92LNDDYdSGpPLRySkNS94AqV9Pn5Trsc6rDX27q0rhLR/uNrW1l+uPOj MPshkcB3hklqeALAGREZo4dTlY8JIfM+7WRhB+Y/W0tPkv0eGlQnzib0nDyRIO/fm4yl mHhroKgY+HQdiUsmumZSp8TC0MNbR1kpaIusUJsopbhBJsGb6W6yAD+6uhv+vuswM8B/ E4oA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=FaQSn4aH; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 32-v6si14617288ple.282.2018.04.24.05.45.05; Tue, 24 Apr 2018 05:45:06 -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; dkim=pass header.i=@linaro.org header.s=google header.b=FaQSn4aH; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757778AbeDXMo7 (ORCPT + 29 others); Tue, 24 Apr 2018 08:44:59 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:39610 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753162AbeDXMoz (ORCPT ); Tue, 24 Apr 2018 08:44:55 -0400 Received: by mail-wr0-f195.google.com with SMTP id q3-v6so39810811wrj.6 for ; Tue, 24 Apr 2018 05:44:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=nQCXEatzBxBDQLumWXR+sOtgbFEwGXgL2NmUeMEhZL0=; b=FaQSn4aHkEF43x7QME3M1+czqJtbKVHooAKYCSbgLg2kmDhCczcGaw7guowJVXGA7i JfGMLIp+HKP3e03EAe+4qvbhhbl4azznyrN9+Sdi68Mj6g6AkgFh3XwRr9zv0RTBiW5n 5GPFVzCFy2Qb1XAqdf7I0USQ9pcTM2nieGBmY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=nQCXEatzBxBDQLumWXR+sOtgbFEwGXgL2NmUeMEhZL0=; b=HNEbjxfJ2XPcXFO93FSKhaep6mKPlmQD1MlC7vf76IEGfIaVVI8X4Xp4ZI55alXxcX b/BxMSstSrSzHARKhsn8B4hIw8ttCsOU4D8WDQU9FX7zh65qYQP4MV6t52IrcAwp2SzK 4+uIuNdlLK5J+LUnah/rGnB9KMZtefcrOoZs66APiYpZHnln2j62cuLCgewE3+LDwQZR VL8658+u5AZX9NuVUxXEJlzlXZ5wMeNYtZf7frNuN+6vr7nrj4y/HNptiW7UiscGMPal qLsh8NFEoklzHJ5HNrrFXwWPtXhbMl1FX+ZacCtMxmfO7aXK/VWobZKHLOyjN8lSjSa5 FJKw== X-Gm-Message-State: ALQs6tDBdZObVAe473W7xDZ96s2pAaCJaJP6Scj2MLqLDIaLX+uUb9Eu D+bKeLS9xJec9nruF4jgU4wWXw== X-Received: by 2002:adf:8ea5:: with SMTP id q34-v6mr18771818wrb.245.1524573893744; Tue, 24 Apr 2018 05:44:53 -0700 (PDT) Received: from localhost.localdomain ([37.157.136.206]) by smtp.gmail.com with ESMTPSA id n49-v6sm22666013wrn.50.2018.04.24.05.44.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Apr 2018 05:44:52 -0700 (PDT) From: Stanimir Varbanov To: Mauro Carvalho Chehab , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Vikash Garodia , Stanimir Varbanov Subject: [PATCH 00/28] Venus updates Date: Tue, 24 Apr 2018 15:44:08 +0300 Message-Id: <20180424124436.26955-1-stanimir.varbanov@linaro.org> X-Mailer: git-send-email 2.14.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, This patch set aims to: * add initial support for Venus version 4xx (found on sdm845). * introduce a common capability parser to enumerate better supported uncompressed formats, capabilities by codec, supported codecs and so on. * also contains various cleanups, readability improvements and fixes. * adds HEVC codec support for the Venus versions which has support for it. * add multi-stream support (secondary decoder output), which will give as an opportunity to use UBWC compressed formats to optimize internal interconnect bandwidth on higher resolutions. Comments are welcome! regards, Stan Stanimir Varbanov (28): venus: hfi_msgs: correct pointer increment venus: hfi: preparation to support venus 4xx venus: hfi: update sequence event to handle more properties venus: hfi_cmds: add set_properties for 4xx version venus: hfi: support session continue for 4xx version venus: hfi: handle buffer output2 type as well venus: hfi_venus: add halt AXI support for Venus 4xx venus: hfi_venus: add suspend function for 4xx version venus: venc,vdec: adds clocks needed for venus 4xx venus: vdec: call session_continue in insufficient event venus: add common capability parser venus: helpers: make a commmon function for power_enable venus: core: delete not used flag for buffer mode venus: helpers: rename a helper function and use buffer mode from caps venus: add a helper function to set dynamic buffer mode venus: add helper function to set actual buffer size venus: delete no longer used bufmode flag from instance venus: helpers: add buffer type argument to a helper venus: helpers: add a new helper to set raw format venus: helpers,vdec,venc: add helpers to set work mode and core usage venus: helpers: extend set_num_bufs helper with one more argument venus: helpers: add a helper to return opb buffer sizes venus: vdec: get required input buffers as well venus: vdec: new function for output configuration venus: move frame size calculations in common place venus: implementing multi-stream support venus: add sdm845 compatible and resource data venus: add HEVC codec support .../devicetree/bindings/media/qcom,venus.txt | 1 + drivers/media/platform/qcom/venus/Makefile | 3 +- drivers/media/platform/qcom/venus/core.c | 102 ++++ drivers/media/platform/qcom/venus/core.h | 91 ++-- drivers/media/platform/qcom/venus/helpers.c | 558 +++++++++++++++++++-- drivers/media/platform/qcom/venus/helpers.h | 23 +- drivers/media/platform/qcom/venus/hfi.c | 12 +- drivers/media/platform/qcom/venus/hfi.h | 9 + drivers/media/platform/qcom/venus/hfi_cmds.c | 64 ++- drivers/media/platform/qcom/venus/hfi_helper.h | 112 ++++- drivers/media/platform/qcom/venus/hfi_msgs.c | 401 +++------------ drivers/media/platform/qcom/venus/hfi_parser.c | 290 +++++++++++ drivers/media/platform/qcom/venus/hfi_parser.h | 45 ++ drivers/media/platform/qcom/venus/hfi_venus.c | 69 +++ drivers/media/platform/qcom/venus/hfi_venus_io.h | 24 + drivers/media/platform/qcom/venus/vdec.c | 324 +++++++----- drivers/media/platform/qcom/venus/venc.c | 166 +++--- 17 files changed, 1641 insertions(+), 653 deletions(-) create mode 100644 drivers/media/platform/qcom/venus/hfi_parser.c create mode 100644 drivers/media/platform/qcom/venus/hfi_parser.h -- 2.14.1