From patchwork Mon Mar 14 10:15:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kate Hsuan X-Patchwork-Id: 12780006 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0D787C433EF for ; Mon, 14 Mar 2022 10:15:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238450AbiCNKRG (ORCPT ); Mon, 14 Mar 2022 06:17:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36098 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230383AbiCNKRC (ORCPT ); Mon, 14 Mar 2022 06:17:02 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id BFE0E3CFD5 for ; Mon, 14 Mar 2022 03:15:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1647252950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=yBBtuI6F18YPuS7YTSgGKI6xMx2O4uTZcjV3VPAgn7U=; b=Ffj2cKVVjuTixVsOSlF6dsoEYKbxR/DTJ76vJ7PqTjw2Pyt9gZuzwj3wLnayqVRa/EsZ0S IUva0pXa29ESNz8/9mscQZhacxxpENM6W9MPm34Du1BJMUyF8EWT+Jqb16EDDbhn9epUrD xSI3Ly2lYzgv55DhiC9kCDJ8Uyr+J5k= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-561-YQeAdOhmOyeUuGI8kVL1zw-1; Mon, 14 Mar 2022 06:15:45 -0400 X-MC-Unique: YQeAdOhmOyeUuGI8kVL1zw-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B8EEF3802AC4; Mon, 14 Mar 2022 10:15:44 +0000 (UTC) Received: from kate-fedora.redhat.com (unknown [10.2.16.91]) by smtp.corp.redhat.com (Postfix) with ESMTP id C4C874AE321; Mon, 14 Mar 2022 10:15:41 +0000 (UTC) From: Kate Hsuan To: Sakari Ailus , Bingbu Cao , Tianshu Qiu , Mauro Carvalho Chehab , Greg Kroah-Hartman Cc: Jean-Michel Hautbois , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, hdegoede@redhat.com, Kate Hsuan Subject: [PATCH v3 1/2] staging: media: ipu3: Fix AF x_start position when rightmost stripe is used Date: Mon, 14 Mar 2022 18:15:22 +0800 Message-Id: <20220314101523.129672-1-hpa@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org For the AF configuration, if the rightmost stripe is used, the AF scene will be at the incorrect location of the sensor. The AF coordinate may be set to the right part of the sensor. This configuration would lead to x_start being greater than the down_scaled_stripes offset and the leftmost stripe would be disabled and only the rightmost stripe is used to control the AF coordinate. If the x_start doesn't perform any adjustments, the AF coordinate will be at the wrong place of the sensor since down_scaled_stripes offset would be the new zero of the coordinate system. In this patch, if only the rightmost stripe is used, x_start should minus down_scaled_stripes offset to maintain its correctness of AF scene coordinate. Changes in v2: 1. Remove the setting of the first stripe. Signed-off-by: Kate Hsuan --- drivers/staging/media/ipu3/ipu3-css-params.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/staging/media/ipu3/ipu3-css-params.c b/drivers/staging/media/ipu3/ipu3-css-params.c index d9e3c3785075..5a8c07f34756 100644 --- a/drivers/staging/media/ipu3/ipu3-css-params.c +++ b/drivers/staging/media/ipu3/ipu3-css-params.c @@ -2556,6 +2556,10 @@ int imgu_css_cfg_acc(struct imgu_css *css, unsigned int pipe, /* Enable only for rightmost stripe, disable left */ acc->af.stripes[0].grid_cfg.y_start &= ~IPU3_UAPI_GRID_Y_START_EN; + acc->af.stripes[1].grid_cfg.x_start -= + acc->stripe.down_scaled_stripes[1].offset; + acc->af.stripes[1].grid_cfg.x_end -= + acc->stripe.down_scaled_stripes[1].offset; } else if (acc->af.config.grid_cfg.x_end <= acc->stripe.bds_out_stripes[0].width - min_overlap) { /* Enable only for leftmost stripe, disable right */ From patchwork Mon Mar 14 10:15:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kate Hsuan X-Patchwork-Id: 12780007 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 61542C433FE for ; Mon, 14 Mar 2022 10:16:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238456AbiCNKRH (ORCPT ); Mon, 14 Mar 2022 06:17:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36154 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238445AbiCNKRE (ORCPT ); Mon, 14 Mar 2022 06:17:04 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4290A3CA6E for ; Mon, 14 Mar 2022 03:15:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1647252954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TN2T3pV/RSYPJmQU4+Rpzf9IHps10qbPty7fqrdTQLg=; b=OqhH3EQIgxgHcbRXf47ArJ1c4W57x7W/vm4tKXCKdRlvtXoYQkhSwWu8ou18EC9gIFhQ+s etbg2f5XwajS6+BWxMkicXKQbcvcuFyfjd/6GFXjW5kBmz32kQeWJbJX+rhBcTwfhNX+rw 2xgLNXhEGCoqDYZYLtAz/64Fm/+Mk2g= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-653-B5x3RyY_PcyA-qn-QsZVnQ-1; Mon, 14 Mar 2022 06:15:51 -0400 X-MC-Unique: B5x3RyY_PcyA-qn-QsZVnQ-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2A0DC29A9CCB; Mon, 14 Mar 2022 10:15:50 +0000 (UTC) Received: from kate-fedora.redhat.com (unknown [10.2.16.91]) by smtp.corp.redhat.com (Postfix) with ESMTP id 587C34AE323; Mon, 14 Mar 2022 10:15:47 +0000 (UTC) From: Kate Hsuan To: Sakari Ailus , Bingbu Cao , Tianshu Qiu , Mauro Carvalho Chehab , Greg Kroah-Hartman Cc: Jean-Michel Hautbois , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, hdegoede@redhat.com, Kate Hsuan Subject: [PATCH v3 2/2] staging: media: ipu3: fixing stripe1 x_end is greater than BDS width Date: Mon, 14 Mar 2022 18:15:23 +0800 Message-Id: <20220314101523.129672-2-hpa@redhat.com> In-Reply-To: <20220314101523.129672-1-hpa@redhat.com> References: <20220314101523.129672-1-hpa@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.85 on 10.11.54.10 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org If both stripes are enabled, an improper AF grid configuration leads the AF scene width to be wilder than the BDS width. Also, the second stripe x_end is estimated based on the remaining AF scene width. Therefore, the second stripe x_end will be greater than the second stripe BDS width. In this patch, if the second stripe x_end is greater than BDS width, x_end will be set to BDS width. Signed-off-by: Kate Hsuan --- drivers/staging/media/ipu3/ipu3-css-params.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/staging/media/ipu3/ipu3-css-params.c b/drivers/staging/media/ipu3/ipu3-css-params.c index 5a8c07f34756..8923760aa913 100644 --- a/drivers/staging/media/ipu3/ipu3-css-params.c +++ b/drivers/staging/media/ipu3/ipu3-css-params.c @@ -2593,6 +2593,10 @@ int imgu_css_cfg_acc(struct imgu_css *css, unsigned int pipe, acc->af.stripes[1].grid_cfg.width, b_w_log2); + if (acc->af.stripes[1].grid_cfg.x_end >= acc->stripe.bds_out_stripes[1].width) + acc->af.stripes[1].grid_cfg.x_end = + acc->stripe.bds_out_stripes[1].width - min_overlap; + /* * To reduce complexity of debubbling and loading statistics * fix grid_height_per_slice to 1 for both stripes