From patchwork Mon May 22 06:02:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dikshita Agarwal X-Patchwork-Id: 97054 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1232926vqo; Sun, 21 May 2023 23:04:19 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4KaUe5K7Q3vtPc5LxRkrkn6Jnq43161R2I+22FFTPPcKbRcuenAeMiotB+mGDGo6riwGhT X-Received: by 2002:a17:902:e5ce:b0:1ab:14f2:e7e6 with SMTP id u14-20020a170902e5ce00b001ab14f2e7e6mr12568873plf.65.1684735459247; Sun, 21 May 2023 23:04:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684735459; cv=none; d=google.com; s=arc-20160816; b=v3PHjW2P2VMnQtEnJl2g/2I5SpX3RYF+C8t79BUOeLFwD6K4OCp5ryJz09gQTRBv+M XDrJ3Igko1lwsUebADomQ70hSiVL/H7Nu0T/T+BR1mnTxf2Y1eFSWl7CSoxJiqqIhpus bGarde609gk8MbUP4xGjl3IBv6XqYt2aD/XQ+IeVatdZalm/SUuWgEz5RMGRch0oO2yQ GM+zL51mnPUbdiOkoMt8iigyQc3a2tws+wUVsxurDTXZ65jSj7/u9QWh7pfgiahUf5VX XActnfgd5ld5ul3pVca8ub3lPU5nqKtPrfP1lG4CrCAZ1hQ9Y3qnJFBLCXRTv2PyhHzv ULxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=Ue0zqBdgeGxFH6tOdBckhB9sz6k1v8PqTY0oyzZ7MCc=; b=iWuybcQe+fY8s4fznPQNJ5jFXETvfhv+3DUMvXUk7LcfKwZtXF3415QHiVTx5exZBT 1Q894TQbbZ4rVV/RN5ixNfA1rI57iC/Xw9N5VJHq+QEooe/3VN+H+Cz7/ILD6GK+Vzop +vY6AG2GufnxkjAyOHXwz+ThR3lgNi5kl16L9xUYFtJsci2lfhY6F6V0Wu83tWofisWW EkMASL6md7rCZ8b7GCHg6lQ/mwp/aeU3YVHeowL/5bb1giHuaSXCZANN31VsNNretqQx WVwCDYBHNo/WXuLouHFvKjCMDEnFmz3g0cPs0nRfwiZBjAIuFTUCoPeXnuLrAIU9svbA wlhQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=g2uvyxGU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b2-20020a170902d88200b001a9b9c32ab7si4170390plz.624.2023.05.21.23.04.06; Sun, 21 May 2023 23:04:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=g2uvyxGU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229571AbjEVGDL (ORCPT + 99 others); Mon, 22 May 2023 02:03:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39210 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230062AbjEVGDG (ORCPT ); Mon, 22 May 2023 02:03:06 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C1DD3FA; Sun, 21 May 2023 23:03:04 -0700 (PDT) Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34M5vtfA001326; Mon, 22 May 2023 06:03:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references; s=qcppdkim1; bh=Ue0zqBdgeGxFH6tOdBckhB9sz6k1v8PqTY0oyzZ7MCc=; b=g2uvyxGU6C5Y7q4+BY7As1IC/ZGvJIRcrHQpVIkde4UgDVlF3dQDWlwP+h7vQTs/Psim rYrDblCDnLOYBQ+z5ReJWDOFWxrUgdRhXWPZyNAn/yzqDvzibmKlHhZMzWR5Fol4YcL0 cfGN438fsvxRWJF78q76c6UJljVdvMXI4+Iz6vRjFoytKKd8zkL6KrsI1XUsQCXWoQHG oOY8N8EkGUYS+a1EiKCTHfS32iVgxlzgrj7J7T7EnFtsoPgbh6YFZ2nByWUXEjHCafcM Ggr4jFETnDRmnry++/FVni9jI83ozss9t61ZUha1OKjiyQqzi8FRztxz5ikhgm8PnHnU eQ== Received: from apblrppmta02.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com [103.229.18.19]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3qpkjujysp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 May 2023 06:03:00 +0000 Received: from pps.filterd (APBLRPPMTA02.qualcomm.com [127.0.0.1]) by APBLRPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTP id 34M62vgR032307; Mon, 22 May 2023 06:02:57 GMT Received: from pps.reinject (localhost [127.0.0.1]) by APBLRPPMTA02.qualcomm.com (PPS) with ESMTPS id 3qpq9keeqp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 22 May 2023 06:02:57 +0000 Received: from APBLRPPMTA02.qualcomm.com (APBLRPPMTA02.qualcomm.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 34M62uMI032298; Mon, 22 May 2023 06:02:56 GMT Received: from hu-sgudaval-hyd.qualcomm.com (hu-dikshita-hyd.qualcomm.com [10.213.110.13]) by APBLRPPMTA02.qualcomm.com (PPS) with ESMTP id 34M62uHg032295; Mon, 22 May 2023 06:02:56 +0000 Received: by hu-sgudaval-hyd.qualcomm.com (Postfix, from userid 347544) id 1DFC63F5E; Mon, 22 May 2023 11:32:56 +0530 (+0530) From: Dikshita Agarwal To: linux-media@vger.kernel.org, stanimir.k.varbanov@gmail.com, quic_vgarodia@quicinc.com, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, mchehab@kernel.org Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Dikshita Agarwal , Viswanath Boma Subject: [PATCH v4 1/3] venus: add firmware version based check Date: Mon, 22 May 2023 11:32:50 +0530 Message-Id: <1684735372-10075-2-git-send-email-quic_dikshita@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1684735372-10075-1-git-send-email-quic_dikshita@quicinc.com> References: <1684735372-10075-1-git-send-email-quic_dikshita@quicinc.com> X-QCInternal: smtphost X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: qP4n7yLUELZ6jX9LaQlrNQa1carVtIMD X-Proofpoint-ORIG-GUID: qP4n7yLUELZ6jX9LaQlrNQa1carVtIMD X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-22_03,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 lowpriorityscore=0 malwarescore=0 mlxscore=0 suspectscore=0 mlxlogscore=805 priorityscore=1501 adultscore=0 impostorscore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305220050 X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766573168924385820?= X-GMAIL-MSGID: =?utf-8?q?1766573168924385820?= Add firmware version based checks to enable/disable features for different SOCs. Tested-by: Nathan Hebert Signed-off-by: Vikash Garodia Signed-off-by: Viswanath Boma Signed-off-by: Dikshita Agarwal --- drivers/media/platform/qcom/venus/core.h | 20 +++++++++++++++++++ drivers/media/platform/qcom/venus/hfi_msgs.c | 30 +++++++++++++++++++++++++--- 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platform/qcom/venus/core.h index 32551c2..2f2176f 100644 --- a/drivers/media/platform/qcom/venus/core.h +++ b/drivers/media/platform/qcom/venus/core.h @@ -202,6 +202,11 @@ struct venus_core { unsigned int core0_usage_count; unsigned int core1_usage_count; struct dentry *root; + struct venus_img_version { + u32 major; + u32 minor; + u32 rev; + } venus_ver; }; struct vdec_controls { @@ -500,4 +505,19 @@ venus_caps_by_codec(struct venus_core *core, u32 codec, u32 domain) return NULL; } +static inline bool +is_fw_rev_or_newer(struct venus_core *core, u32 vmajor, u32 vminor, u32 vrev) +{ + return ((core)->venus_ver.major == vmajor && + (core)->venus_ver.minor == vminor && + (core)->venus_ver.rev >= vrev); +} + +static inline bool +is_fw_rev_or_older(struct venus_core *core, u32 vmajor, u32 vminor, u32 vrev) +{ + return ((core)->venus_ver.major == vmajor && + (core)->venus_ver.minor == vminor && + (core)->venus_ver.rev <= vrev); +} #endif diff --git a/drivers/media/platform/qcom/venus/hfi_msgs.c b/drivers/media/platform/qcom/venus/hfi_msgs.c index df96db3..65c8fb3 100644 --- a/drivers/media/platform/qcom/venus/hfi_msgs.c +++ b/drivers/media/platform/qcom/venus/hfi_msgs.c @@ -248,13 +248,15 @@ static void hfi_sys_init_done(struct venus_core *core, struct venus_inst *inst, } static void -sys_get_prop_image_version(struct device *dev, +sys_get_prop_image_version(struct venus_core *core, struct hfi_msg_sys_property_info_pkt *pkt) { + struct device *dev = core->dev; u8 *smem_tbl_ptr; u8 *img_ver; int req_bytes; size_t smem_blk_sz; + int ret; req_bytes = pkt->hdr.size - sizeof(*pkt); @@ -263,8 +265,30 @@ sys_get_prop_image_version(struct device *dev, return; img_ver = pkt->data; + if (!img_ver) + return; + + ret = sscanf(img_ver, "14:video-firmware.%u.%u-%u", + &core->venus_ver.major, &core->venus_ver.minor, &core->venus_ver.rev); + if (ret) + goto done; + + ret = sscanf(img_ver, "14:VIDEO.VPU.%u.%u-%u", + &core->venus_ver.major, &core->venus_ver.minor, &core->venus_ver.rev); + if (ret) + goto done; + + ret = sscanf(img_ver, "14:VIDEO.VE.%u.%u-%u", + &core->venus_ver.major, &core->venus_ver.minor, &core->venus_ver.rev); + if (ret) + goto done; - dev_dbg(dev, VDBGL "F/W version: %s\n", img_ver); + dev_err(dev, VDBGL "error reading F/W version\n"); + return; + +done: + dev_dbg(dev, VDBGL "F/W version: %s, major %u, minor %u, revision %u\n", + img_ver, core->venus_ver.major, core->venus_ver.minor, core->venus_ver.rev); smem_tbl_ptr = qcom_smem_get(QCOM_SMEM_HOST_ANY, SMEM_IMG_VER_TBL, &smem_blk_sz); @@ -286,7 +310,7 @@ static void hfi_sys_property_info(struct venus_core *core, switch (pkt->property) { case HFI_PROPERTY_SYS_IMAGE_VERSION: - sys_get_prop_image_version(dev, pkt); + sys_get_prop_image_version(core, pkt); break; default: dev_dbg(dev, VDBGL "unknown property data\n"); From patchwork Mon May 22 06:02:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dikshita Agarwal X-Patchwork-Id: 97057 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1240350vqo; Sun, 21 May 2023 23:21:40 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5he+UqN9PT427Esxh2xfmdCAwdz8QKrI4tgBZOFSVqqIiGtbkdpY8JQC3LF8842CtEU9TM X-Received: by 2002:a17:902:ed97:b0:19d:1834:92b9 with SMTP id e23-20020a170902ed9700b0019d183492b9mr10082250plj.56.1684736500000; Sun, 21 May 2023 23:21:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684736499; cv=none; d=google.com; s=arc-20160816; b=ujZ30W6pl0eHP68nKq5BoMKkxd9fJWt0j6ImPhq11FUN41rINTluTact2RKgvow4g1 MaEp1kFZOyrEmCJy4tgpkP1cc710QNpMqAd2Y6iwEreFMVAAGVg/ef+v3JGJHqLAjU+x m9ZUdJLSwW+q2ZaQmiP/bGNyRZQDRXqi1NygEnSaXUzXwGRsF09W1Zs8ASip/jaBleNt Mq2u9j7miw3JyxzUOLy9tiNmCVvzC53rZLWeEtJ10dlX1a+sKAwU56yo+pdFgEKqe0GS EEM67vHUneBldIeFjlQDbHIukAjU19m7nZYThYXOCg26XlT+ckdzQ8Uz0w897DN94EzI mXFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=oYYq6G+y55/30piKBD5IqHmwPcTC9/WitgLM+GtykN4=; b=glAq+ruQYy4PlnKxAfaupxvAdEdaQ1oFLn+10ShThGfBkUffhbNzenMkybZ3bgrDTo HLEd9m9+Pn1bF0AS73nMY/S40mbbJqJsxRrhkOLSHswVb7Ocwztzyi8xEd5V6SkoadDZ jxQymIdMHrsc7tXRatFfc4j+Jq2mt1HPkrCDb+hB5mY6ltf54E4Fc3m6Oj3+M5hj3xJf aoSDfyp0hex/TdxG87tZS9KiZJnXEnJk8anuw5BvYNfQeVuu21Tt95qEpQzjdgJLVvFT kpEDpTbu7P/9ivH5VbwZGm17A5e/7A62SSdYlJ1HoeUqXorjHuWMlYL9FYbw+cjaIEMv Hnpw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=SDdYcy+d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b13-20020a170902650d00b001aaf639c4easi4017245plk.109.2023.05.21.23.21.27; Sun, 21 May 2023 23:21:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=SDdYcy+d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229861AbjEVGD1 (ORCPT + 99 others); Mon, 22 May 2023 02:03:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39330 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230344AbjEVGDG (ORCPT ); Mon, 22 May 2023 02:03:06 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 66AA7FD; Sun, 21 May 2023 23:03:05 -0700 (PDT) Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34M5oxEr000742; Mon, 22 May 2023 06:03:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references; s=qcppdkim1; bh=oYYq6G+y55/30piKBD5IqHmwPcTC9/WitgLM+GtykN4=; b=SDdYcy+dExq5hOHwsI3zn+Ig8m7CYijuvZCLlmlNUMqKzZHy4FwNAPU2eRQ/awsBhhVA ZLnBjGOADFsvK3Ey9VEPamobgoW2RcuifRYtIpNhVR/mKIG69b9kmOpnbyFiWWqgDViR EgHU7mqzxRibRaNHFA+JVNA0K+wAy3LnDnx5XpisWmqSed3BO57/+/RaEETIno78MDZV Zj+AQx1AoECUWYtykBApDvPvzg8GUuCvSk+gnhczj+MSBIF2Bwkoxcc7+9hQ0PFKecT6 Bde3PG2YfEc/ZIFci/NAbf5x138K7jDdlwOcYXgD+nVZGyumk4adMKZ0cxB0Oo5zipJl sA== Received: from apblrppmta02.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com [103.229.18.19]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3qppypaq57-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 May 2023 06:03:01 +0000 Received: from pps.filterd (APBLRPPMTA02.qualcomm.com [127.0.0.1]) by APBLRPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTP id 34M62wkm032324; Mon, 22 May 2023 06:02:58 GMT Received: from pps.reinject (localhost [127.0.0.1]) by APBLRPPMTA02.qualcomm.com (PPS) with ESMTPS id 3qpq9keeqx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 22 May 2023 06:02:57 +0000 Received: from APBLRPPMTA02.qualcomm.com (APBLRPPMTA02.qualcomm.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 34M62vc4032318; Mon, 22 May 2023 06:02:57 GMT Received: from hu-sgudaval-hyd.qualcomm.com (hu-dikshita-hyd.qualcomm.com [10.213.110.13]) by APBLRPPMTA02.qualcomm.com (PPS) with ESMTP id 34M62vOq032308; Mon, 22 May 2023 06:02:57 +0000 Received: by hu-sgudaval-hyd.qualcomm.com (Postfix, from userid 347544) id C67A133B6; Mon, 22 May 2023 11:32:56 +0530 (+0530) From: Dikshita Agarwal To: linux-media@vger.kernel.org, stanimir.k.varbanov@gmail.com, quic_vgarodia@quicinc.com, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, mchehab@kernel.org Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Dikshita Agarwal , Viswanath Boma Subject: [PATCH v4 2/3] venus: enable sufficient sequence change support for vp9 Date: Mon, 22 May 2023 11:32:51 +0530 Message-Id: <1684735372-10075-3-git-send-email-quic_dikshita@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1684735372-10075-1-git-send-email-quic_dikshita@quicinc.com> References: <1684735372-10075-1-git-send-email-quic_dikshita@quicinc.com> X-QCInternal: smtphost X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: TODNTt0w4nJut-vFUG5S9bwtKQZplBD_ X-Proofpoint-GUID: TODNTt0w4nJut-vFUG5S9bwtKQZplBD_ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-22_03,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0 clxscore=1015 mlxlogscore=926 phishscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305220050 X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766574259999351732?= X-GMAIL-MSGID: =?utf-8?q?1766574259999351732?= VP9 supports resolution change at interframe. Currenlty, if sequence change is detected at interframe and resources are sufficient, sequence change event is not raised by firmware to driver until the next keyframe. This change add the HFI to notify the sequence change in this case to driver. Reviewed-by: Konrad Dybcio Tested-by: Nathan Hebert Signed-off-by: Vikash Garodia Signed-off-by: Viswanath Boma Signed-off-by: Dikshita Agarwal --- drivers/media/platform/qcom/venus/hfi_cmds.c | 1 + drivers/media/platform/qcom/venus/hfi_helper.h | 2 ++ drivers/media/platform/qcom/venus/vdec.c | 8 ++++++++ 3 files changed, 11 insertions(+) diff --git a/drivers/media/platform/qcom/venus/hfi_cmds.c b/drivers/media/platform/qcom/venus/hfi_cmds.c index 930b743..e2539b5 100644 --- a/drivers/media/platform/qcom/venus/hfi_cmds.c +++ b/drivers/media/platform/qcom/venus/hfi_cmds.c @@ -521,6 +521,7 @@ static int pkt_session_set_property_1x(struct hfi_session_set_property_pkt *pkt, pkt->shdr.hdr.size += sizeof(u32) + sizeof(*en); break; } + case HFI_PROPERTY_PARAM_VDEC_ENABLE_SUFFICIENT_SEQCHANGE_EVENT: case HFI_PROPERTY_CONFIG_VDEC_POST_LOOP_DEBLOCKER: { struct hfi_enable *in = pdata; struct hfi_enable *en = prop_data; diff --git a/drivers/media/platform/qcom/venus/hfi_helper.h b/drivers/media/platform/qcom/venus/hfi_helper.h index d2d6719..2e03b6e 100644 --- a/drivers/media/platform/qcom/venus/hfi_helper.h +++ b/drivers/media/platform/qcom/venus/hfi_helper.h @@ -469,6 +469,8 @@ #define HFI_PROPERTY_PARAM_VDEC_PIXEL_BITDEPTH 0x1003007 #define HFI_PROPERTY_PARAM_VDEC_PIC_STRUCT 0x1003009 #define HFI_PROPERTY_PARAM_VDEC_COLOUR_SPACE 0x100300a +#define HFI_PROPERTY_PARAM_VDEC_ENABLE_SUFFICIENT_SEQCHANGE_EVENT \ + 0x100300b /* * HFI_PROPERTY_CONFIG_VDEC_COMMON_START diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c index 4ceaba3..f0394b9 100644 --- a/drivers/media/platform/qcom/venus/vdec.c +++ b/drivers/media/platform/qcom/venus/vdec.c @@ -671,6 +671,14 @@ static int vdec_set_properties(struct venus_inst *inst) return ret; } + /* Enabling sufficient sequence change support for VP9 */ + if (is_fw_rev_or_newer(inst->core, 5, 4, 51)) { + ptype = HFI_PROPERTY_PARAM_VDEC_ENABLE_SUFFICIENT_SEQCHANGE_EVENT; + ret = hfi_session_set_property(inst, ptype, &en); + if (ret) + return ret; + } + ptype = HFI_PROPERTY_PARAM_VDEC_CONCEAL_COLOR; conceal = ctr->conceal_color & 0xffff; conceal |= ((ctr->conceal_color >> 16) & 0xffff) << 10; From patchwork Mon May 22 06:02:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dikshita Agarwal X-Patchwork-Id: 97055 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1233689vqo; Sun, 21 May 2023 23:05:49 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5tVlIfye2ngwa2cmi2RA4rg4gwzUW+0jgQBff6XGt9k4/Ui+vPh/QehF9hvNj/g8udd4zh X-Received: by 2002:a05:6a20:d80d:b0:103:ee82:dcb0 with SMTP id iv13-20020a056a20d80d00b00103ee82dcb0mr10823734pzb.13.1684735548992; Sun, 21 May 2023 23:05:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684735548; cv=none; d=google.com; s=arc-20160816; b=j+3D2C51hyqXECPYV5cWmT7UHA1BS0iQv0KMTroHwo2eQODHjAj1I40ApT24XKHIZo C6xjMwZbApYnkwkw3L0p+Sosh1zT9mCaaj9O1d4vMBxPRtuWWvaa7aAvGZlw4GNE3sqx 0yvQMD5a47IUMawbFP19BqHWEHovZPbrtGpPYXmklZJtPoMwUV/mci7Tylz2P1VvYhiV BqX7OGirMIzXXHlpmQRYRMePCAIt73AXs/QxWk3/yIVdPtL4sGR53Ckn8ez8Rrm6OacT FwEYZJrjmwFpWAnb13O41gJGPnULg/SU2dqNPviBiWxs5QMxng6kNqPdmu7xZGmb2rqh xLYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=9Rpfvi2imEznh7+DvUUNzkzDufqKjlVr6K7nCgU9kaM=; b=qwleLXfjp1QxpDv4uC9mGQXyyQvN9KMXVZWggPTfCxfOnzULgsQNMMhclCrIpuabNP FP93e6Ur59iM1erTigeLobVzWbDnUKQnijqP62ZJSwajPc8Xhiwnm3Ma7ZpVnYxayS4L vFvuIFC7vqt8+1mWzac/wb1mju9LGQ6fM6g4OJkYobO5FBIoD4VpQHTyyhioB2QG+aNA 5CwQjPGageP0QE/eNyPXZhRuPo5LMo1aufLgb42av4mKA2yTPtaIwzjXmSX+KhkdTTBD j3QSZhGtzb0AUhc4GqBBc1Fa0mmi6pLuTvJrLgjqC0xA0WABe8tJHDFFKKJ6dW4ynQUG mwag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=TbOnYP+c; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c4-20020a633504000000b005074cff89b9si4336735pga.250.2023.05.21.23.05.36; Sun, 21 May 2023 23:05:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=TbOnYP+c; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230492AbjEVGDQ (ORCPT + 99 others); Mon, 22 May 2023 02:03:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39324 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230267AbjEVGDG (ORCPT ); Mon, 22 May 2023 02:03:06 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 697DFFE; Sun, 21 May 2023 23:03:05 -0700 (PDT) Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34M5Fa0w023085; Mon, 22 May 2023 06:03:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references; s=qcppdkim1; bh=9Rpfvi2imEznh7+DvUUNzkzDufqKjlVr6K7nCgU9kaM=; b=TbOnYP+cDcqTYDSw7VGq2q2sbtvU7NttaWD9bq+jkhRdXkSy2eQwdzivYzPsf2U1grwg /McMsxDHeO4VOFk1TYgt7CUIfl8IIg/7lqd8Sv1ZUMpqLghEpypkQP/cA8l3KOWcJx4r P3X7YZsN4Jngb4d7J4Nvz9eBsryvoZoliAeV1b2CY34hLo5t5V4uJ2Tao40rFNEyAyLn JC9J42rNjgLN/sgLy1BKeYap8F4j9p9e9hBYkfDhHrN46FfWVX57yadqZTUCmRhdnf50 I2ERTS7o71odL0yEfZfZigqph/HtSurvd7RC69bwLwUce1SFepSvXZUDO5Mo6MaxBrHe /w== Received: from apblrppmta02.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com [103.229.18.19]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3qpqgf2q43-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 May 2023 06:03:02 +0000 Received: from pps.filterd (APBLRPPMTA02.qualcomm.com [127.0.0.1]) by APBLRPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTP id 34M62w1D032334; Mon, 22 May 2023 06:02:58 GMT Received: from pps.reinject (localhost [127.0.0.1]) by APBLRPPMTA02.qualcomm.com (PPS) with ESMTPS id 3qpq9keer2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 22 May 2023 06:02:58 +0000 Received: from APBLRPPMTA02.qualcomm.com (APBLRPPMTA02.qualcomm.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 34M62vc6032318; Mon, 22 May 2023 06:02:58 GMT Received: from hu-sgudaval-hyd.qualcomm.com (hu-dikshita-hyd.qualcomm.com [10.213.110.13]) by APBLRPPMTA02.qualcomm.com (PPS) with ESMTP id 34M62vOs032308; Mon, 22 May 2023 06:02:58 +0000 Received: by hu-sgudaval-hyd.qualcomm.com (Postfix, from userid 347544) id 8C69C3F5E; Mon, 22 May 2023 11:32:57 +0530 (+0530) From: Dikshita Agarwal To: linux-media@vger.kernel.org, stanimir.k.varbanov@gmail.com, quic_vgarodia@quicinc.com, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, mchehab@kernel.org Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Dikshita Agarwal , Viswanath Boma Subject: [PATCH v4 3/3] venus: fix EOS handling in decoder stop command Date: Mon, 22 May 2023 11:32:52 +0530 Message-Id: <1684735372-10075-4-git-send-email-quic_dikshita@quicinc.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1684735372-10075-1-git-send-email-quic_dikshita@quicinc.com> References: <1684735372-10075-1-git-send-email-quic_dikshita@quicinc.com> X-QCInternal: smtphost X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: GN2mtvPvhQtfjUzwlMCWzB9ZAQmZ8j6b X-Proofpoint-GUID: GN2mtvPvhQtfjUzwlMCWzB9ZAQmZ8j6b X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-22_03,2023-05-17_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 suspectscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 phishscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 lowpriorityscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305220050 X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766573263097686029?= X-GMAIL-MSGID: =?utf-8?q?1766573263097686029?= Use firmware version based check to assign correct device address for EOS buffer to fix the EOS handling with different firmware version. Reviewed-by: Konrad Dybcio Tested-by: Nathan Hebert Signed-off-by: Vikash Garodia Signed-off-by: Viswanath Boma Signed-off-by: Dikshita Agarwal --- drivers/media/platform/qcom/venus/vdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c index f0394b9..c59b34f 100644 --- a/drivers/media/platform/qcom/venus/vdec.c +++ b/drivers/media/platform/qcom/venus/vdec.c @@ -545,7 +545,7 @@ vdec_decoder_cmd(struct file *file, void *fh, struct v4l2_decoder_cmd *cmd) fdata.buffer_type = HFI_BUFFER_INPUT; fdata.flags |= HFI_BUFFERFLAG_EOS; - if (IS_V6(inst->core)) + if (IS_V6(inst->core) && is_fw_rev_or_older(inst->core, 1, 0, 87)) fdata.device_addr = 0; else fdata.device_addr = 0xdeadb000;