From patchwork Sun Dec 29 17:18:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 182534 Delivered-To: patch@linaro.org Received: by 2002:a92:815a:0:0:0:0:0 with SMTP id e87csp5440473ild; Sun, 29 Dec 2019 09:22:30 -0800 (PST) X-Google-Smtp-Source: APXvYqwlefBjDhETI/KXkZil8KJDZOeP+irQQPDsYn2KukDJIvmNoBuHYcqD2rIpRTV3Dxx1MzJX X-Received: by 2002:a9d:3e16:: with SMTP id a22mr71666283otd.259.1577640149988; Sun, 29 Dec 2019 09:22:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577640149; cv=none; d=google.com; s=arc-20160816; b=C6Kp8YFDYkqtwv5bbk1LXVEAp4K+LuvS/AxW6lM1WRgLtz0otNqTyQMSZ1ptBjwNnR vtNB+NlrLP1mcQKYwPDMEqlZTcBEQssWBs4Z0mVuDi3RoqMDH2CTXV5GdoPv6fHXw4qW IX4/i+HXrsEDLZZg92hHDzR/t5qfstaHOKJNQ2dqcGmjnmiVhdGKdAXzHf5inkRJGm4N DxHKIXk83zjAhqO3ge+2LFATXsnHMj3VRzOMz4s/UaN7udFS5GWPWkYAZWcTHt6GfQKw qdxy5Ti5R7qtPzl85/LcJ42+NxoS8BUHvLkU/G7w6pw/nGxtPli1K0I/2ApFERHCcRQG CY1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=t+J3DT39q2p3KUkkXb4LSFexUVleer7xLkwdWgBUym4=; b=VufG50PaRQ9+kyUta8SGwRxzP35R/FLD4HDi68UTzxmldTxd80H/AacHFlW1HuHLbO Sl8kalvuyICwSVSHt8MvUwNpvSh0QLa9FGQ0JZKrbSaa8Jw/KdNPXlW2N6yT7lLZ4rS1 HEFJNYd6G46VjbrVpXwSWeXi+jo3zjsNsiXChryYtC42coL3evnNM92SuhPQ7UqiPtkD Q9ZtZWwJ9UUZkAPtjlrrhSAaNwNI0WFvIriM5/6Rh5TNsTDW2b9mC8kF0GZps7dMF9Bj OOjrn27QFoFVeMvsAVluxayCebTmZjIahI0CBry9E2U2537a78M2dTpMiamIa31ekGvU zy9Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=iV2HjVGP; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x24si20494157oto.255.2019.12.29.09.22.29; Sun, 29 Dec 2019 09:22:29 -0800 (PST) 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=@kernel.org header.s=default header.b=iV2HjVGP; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727318AbfL2RW2 (ORCPT + 27 others); Sun, 29 Dec 2019 12:22:28 -0500 Received: from mail.kernel.org ([198.145.29.99]:38816 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726658AbfL2RW0 (ORCPT ); Sun, 29 Dec 2019 12:22:26 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6EF58207FD; Sun, 29 Dec 2019 17:22:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1577640145; bh=0Gybm7l43eGqhyVETCvyuH6F8el7S/oOIAMXjqiNJeo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iV2HjVGP3706P2remmRbykcY1JKKEkU4BC9AWCluDziwGMTckCRWbzP2NeHJEPdk/ Y4kZLCAUXo6Pbm3xASM84NX0Yl1AHcQCr7EQg5BpURcgF/O+fAhK/T43/lPQWn1cGM R95QkPvP7uL/0jp63GWq18v1jsRjUmOSCdBlB/Q4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Loic Poulain , Stanimir Varbanov , Mauro Carvalho Chehab , Sasha Levin Subject: [PATCH 4.14 036/161] media: venus: core: Fix msm8996 frequency table Date: Sun, 29 Dec 2019 18:18:04 +0100 Message-Id: <20191229162410.186246630@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191229162355.500086350@linuxfoundation.org> References: <20191229162355.500086350@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Loic Poulain [ Upstream commit c690435ed07901737e5c007a65ec59f53b33eb71 ] In downstream driver, there are two frequency tables defined, one for the encoder and one for the decoder: /* Encoders / <972000 490000000 0x55555555>, / 4k UHD @ 30 / <489600 320000000 0x55555555>, / 1080p @ 60 / <244800 150000000 0x55555555>, / 1080p @ 30 / <108000 75000000 0x55555555>, / 720p @ 30 */ /* Decoders / <1944000 490000000 0xffffffff>, / 4k UHD @ 60 / < 972000 320000000 0xffffffff>, / 4k UHD @ 30 / < 489600 150000000 0xffffffff>, / 1080p @ 60 / < 244800 75000000 0xffffffff>; / 1080p @ 30 */ It shows that encoder always needs a higher clock than decoder. In current venus driver, the unified frequency table is aligned with the downstream decoder table which causes performance issues in encoding scenarios. Fix that by aligning frequency table on worst case (encoding). Signed-off-by: Loic Poulain Signed-off-by: Stanimir Varbanov Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/media/platform/qcom/venus/core.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) -- 2.20.1 diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c index 769e9e68562d..9360b36b82cd 100644 --- a/drivers/media/platform/qcom/venus/core.c +++ b/drivers/media/platform/qcom/venus/core.c @@ -345,10 +345,11 @@ static const struct venus_resources msm8916_res = { }; static const struct freq_tbl msm8996_freq_table[] = { - { 1944000, 490000000 }, /* 4k UHD @ 60 */ - { 972000, 320000000 }, /* 4k UHD @ 30 */ - { 489600, 150000000 }, /* 1080p @ 60 */ - { 244800, 75000000 }, /* 1080p @ 30 */ + { 1944000, 520000000 }, /* 4k UHD @ 60 (decode only) */ + { 972000, 520000000 }, /* 4k UHD @ 30 */ + { 489600, 346666667 }, /* 1080p @ 60 */ + { 244800, 150000000 }, /* 1080p @ 30 */ + { 108000, 75000000 }, /* 720p @ 30 */ }; static const struct reg_val msm8996_reg_preset[] = {