From patchwork Sun Oct 17 16:19:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77800 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8tz-006WMU-J9; Sun, 17 Oct 2021 16:20:47 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344038AbhJQQWz (ORCPT + 1 other); Sun, 17 Oct 2021 12:22:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344014AbhJQQWv (ORCPT ); Sun, 17 Oct 2021 12:22:51 -0400 Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4853CC061768; Sun, 17 Oct 2021 09:20:42 -0700 (PDT) Received: by mail-pj1-x102d.google.com with SMTP id np13so10588985pjb.4; Sun, 17 Oct 2021 09:20:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fz5biioEaxzmk90taTLWjwha9QBsnc0Q/9w21LeSWAE=; b=hJxU/L547sPEH/X/RobaV/wHpXuK6xEPJbf7C952RQF+0G3+aZGMjLXQrEyAlJRHz5 efKgOz6W2DcU8KwYjWkOGAYAfB8lM2eeYvy0XzOqdksnMG/5WGNKhDfYJdaOiVre+B2i s41ugn10WUKl1rMcIRctpuzAlEVuTEcSHZZahsw9vx78OKSJ9Rbl10VV1uYrDe158UzO IHf8ecJgOHok8Wols2GCl3Uic30XXZYj384/qf59z666YzcugPx3DJK2mc6nRnBPwc5Q HPy4q5yviaH9weqhiJ9sn3ryq2wTAFi6Q3rPWY8RULlTQAzuwjN1hpFrGVAKlwmSLqOH HYLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fz5biioEaxzmk90taTLWjwha9QBsnc0Q/9w21LeSWAE=; b=E4/0f+lcjVcxJBgsOZWQCEpZ8058eEUmiNYfa3Zu6UXCkQT6e3zjIin5GrYlNBHDtB RrTU0kLvBMy3dlhAGDGq6v91K5cqofh69lWglc7BMrsZeDgtDk0KofRDozL/Sb45b6K5 OL6cQmgORnoH4hBX2nbMYySPj+GHoKnCUtfh2eRjSO7Cs2oWyXAgcDcacI5bkafo94Le JlfRN1yVUeDQBytH9Gfmaln+RtPm7Q4NBGTVKZVUuNlt2hSNb7lYSsbEZWXtC22OmPPO e/tKcPgOTSc2zACK8cPQjP4XYeKovl05POFw5kiBVBu4iOiHfE65SVkiKwGVPqNeySDB +KRQ== X-Gm-Message-State: AOAM530SPosiO80HguGzBkdlLHqdH48H6Gr5Ha3OMxnMALVtEM1zEViA ZEX0+QnuRLUpvPBPPx+3C6g= X-Google-Smtp-Source: ABdhPJx9lwgRB5C7qGwjCZD0ZzWyNeQSAmyDLzITbIPVHi8EYqmOeTn0ymaevjL/FaAj+BXT0Q5I5Q== X-Received: by 2002:a17:902:758b:b0:13e:8b1:e49f with SMTP id j11-20020a170902758b00b0013e08b1e49fmr22353467pll.6.1634487641749; Sun, 17 Oct 2021 09:20:41 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.20.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:20:41 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Hans Verkuil , Aline Santana Cordeiro , Yang Yingliang , Alan , Dinghao Liu , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 01/17] media: atomisp: pci: add missing media_device_cleanup() in atomisp_unregister_entities() Date: Mon, 18 Oct 2021 01:19:41 +0900 Message-Id: <20211017161958.44351-2-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no After the commit 9832e155f1ed ("[media] media-device: split media initialization and registration"), calling media_device_cleanup() is needed it seems. However, currently it is missing for the module unload path. Note that for the probe failure path, it is already added in atomisp_register_entities(). This patch adds the missing call of media_device_cleanup() in atomisp_unregister_entities(). Fixes: a49d25364dfb ("staging/atomisp: Add support for the Intel IPU v2") Signed-off-by: Tsuchiya Yuto --- drivers/staging/media/atomisp/pci/atomisp_v4l2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c index 1e324f1f656e..0511c454e769 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c +++ b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c @@ -1182,6 +1182,7 @@ static void atomisp_unregister_entities(struct atomisp_device *isp) v4l2_device_unregister(&isp->v4l2_dev); media_device_unregister(&isp->media_dev); + media_device_cleanup(&isp->media_dev); } static int atomisp_register_entities(struct atomisp_device *isp) From patchwork Sun Oct 17 16:19:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77801 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8u4-006WNA-62; Sun, 17 Oct 2021 16:20:52 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343994AbhJQQW7 (ORCPT + 1 other); Sun, 17 Oct 2021 12:22:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344044AbhJQQW4 (ORCPT ); Sun, 17 Oct 2021 12:22:56 -0400 Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 35A56C06161C; Sun, 17 Oct 2021 09:20:47 -0700 (PDT) Received: by mail-pl1-x62c.google.com with SMTP id n11so9620833plf.4; Sun, 17 Oct 2021 09:20:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=U00ruTBIXRJgbnte4h6umYs04Hf2Jn1ltdCVoHTbMog=; b=j8t9n4DTolVN2UjTZru9R8vl6ztjRFfSczDy0L8gN4I/QfGrR+79kKppwfOlQJVQBL I3nNBBw/I0/Ra82gWazQQKcrZUT9qqiQFNnOUmmfM/+EE8IzkOwzT1td3LjeoqqR/6sy ks+yDJ90WY4+To7A24+Zp8eRfqTb0AxxGnHvsMCRIVrNYpTWCfF6PUqa2z0NnWvB3UQi IzNPS3sMFr2SugSQZm/a6fhW7OpNBKncmhhesi67hj8EGIshmf1DbNUSuzKFx0eOyikA XdqLwRAQUnyloYh92bHj40c1P1TWq6cA5IITw1K05PWZfzoiJvA4bIyiNF6DLM4WyGPV dNuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=U00ruTBIXRJgbnte4h6umYs04Hf2Jn1ltdCVoHTbMog=; b=wGL3QvRS6CAaxpmI/EomqqUa0xETSdwqNpMMiMDwEhqbnKQFDdK1Ri3ct4D7E07mrL hBpZd6uvvbUBKwj7b3Xrib4F600W3jcNDVR6vkrOa4gIz3rQS23xUbeWbVKcAJLILMKO zdyXleV5e12fnTGsap+CT/OJHKrWVkqqoAIs/B7aSTvE6XlmaYdDgLZDSGErvVtlGSPR HQEqKzXphm/m01Ar/M6oE51se0vc0sRA2r5ib504RKuGiuHd804VcKEh1MH1hVcpUGMJ Xi/ArycYzWZyEKm2eQ9cDUXDXnuuqA+uHfqk6Qo3+B7LBc7qBFLGFzgMwKaP4qajGzuX 76NQ== X-Gm-Message-State: AOAM531qX28P6/DTaiZLKRhC4IzAY3CHJD3js2OM8Ndvp5ehdrHB1M4+ Gjw0luWdkT5C33vxU/beZxU= X-Google-Smtp-Source: ABdhPJw9hheYwIYL5WJPaGEsn6dIeE1Ivg3cE1fIj8Pf+5a/ylyGzvit1kHMgVyAXgbYp+d90G+m6g== X-Received: by 2002:a17:902:c942:b0:13f:d1c:819a with SMTP id i2-20020a170902c94200b0013f0d1c819amr22616523pla.64.1634487646654; Sun, 17 Oct 2021 09:20:46 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.20.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:20:46 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Hans Verkuil , Aline Santana Cordeiro , Yang Yingliang , Dinghao Liu , Alan , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 02/17] media: atomisp: pci: fix punit_ddr_dvfs_enable() argument for mrfld_power up case Date: Mon, 18 Oct 2021 01:19:42 +0900 Message-Id: <20211017161958.44351-3-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no When comparing with intel-aero atomisp [1], it looks like punit_ddr_dvfs_enable() should take `false` as an argument on mrfld_power up case. Code from the intel-aero kernel [1]: int atomisp_mrfld_power_down(struct atomisp_device *isp) { [...] /*WA:Enable DVFS*/ if (IS_CHT) punit_ddr_dvfs_enable(true); int atomisp_mrfld_power_up(struct atomisp_device *isp) { [...] /*WA for PUNIT, if DVFS enabled, ISP timeout observed*/ if (IS_CHT) punit_ddr_dvfs_enable(false); This patch fixes the inverted argument as per the intel-aero code, as well as its comment. While here, fix space issues for comments in atomisp_mrfld_power(). Note that it does not seem to be possible to unify the up/down cases for punit_ddr_dvfs_enable(), i.e., we can't do something like the following: if (IS_CHT) punit_ddr_dvfs_enable(!enable); because according to the intel-aero code [1], the DVFS is disabled before "writing 0x0 to ISPSSPM0 bit[1:0]" and the DVFS is enabled after "writing 0x3 to ISPSSPM0 bit[1:0]". [1] https://github.com/intel-aero/linux-kernel/blob/a1b673258feb915268377275130c5c5df0eafc82/drivers/media/pci/atomisp/atomisp_driver/atomisp_v4l2.c#L431-L514 Fixes: 0f441fd70b1e ("media: atomisp: simplify the power down/up code") Signed-off-by: Tsuchiya Yuto --- drivers/staging/media/atomisp/pci/atomisp_v4l2.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c index 0511c454e769..f5362554638e 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c +++ b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c @@ -711,15 +711,15 @@ static int atomisp_mrfld_power(struct atomisp_device *isp, bool enable) dev_dbg(isp->dev, "IUNIT power-%s.\n", enable ? "on" : "off"); - /*WA:Enable DVFS*/ + /* WA for PUNIT, if DVFS enabled, ISP timeout observed */ if (IS_CHT && enable) - punit_ddr_dvfs_enable(true); + punit_ddr_dvfs_enable(false); /* * FIXME:WA for ECS28A, with this sleep, CTS * android.hardware.camera2.cts.CameraDeviceTest#testCameraDeviceAbort * PASS, no impact on other platforms - */ + */ if (IS_BYT && enable) msleep(10); @@ -727,7 +727,7 @@ static int atomisp_mrfld_power(struct atomisp_device *isp, bool enable) iosf_mbi_modify(BT_MBI_UNIT_PMC, MBI_REG_READ, MRFLD_ISPSSPM0, val, MRFLD_ISPSSPM0_ISPSSC_MASK); - /*WA:Enable DVFS*/ + /* WA:Enable DVFS */ if (IS_CHT && !enable) punit_ddr_dvfs_enable(true); From patchwork Sun Oct 17 16:19:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77802 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8uD-006WNA-O3; Sun, 17 Oct 2021 16:21:02 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344060AbhJQQXJ (ORCPT + 1 other); Sun, 17 Oct 2021 12:23:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35148 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344081AbhJQQXD (ORCPT ); Sun, 17 Oct 2021 12:23:03 -0400 Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6E1A5C061768; Sun, 17 Oct 2021 09:20:53 -0700 (PDT) Received: by mail-pg1-x52d.google.com with SMTP id f5so13511501pgc.12; Sun, 17 Oct 2021 09:20:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RZvAniSv0/MLHUecBSIvKMrmoz6usDwoGMxlWRtqF5A=; b=hifpVpT0bgGGW6BmmZDDJUbjAa6LEZGGiqzjSmU+G/KA2d0SLyzT7kx/421gnTRQTm laSuGz8ATwzmRUoaJohyIfHwq2rTtebsydHTV+kUCUVrs+SBX+dJaSiVkf+eW5sYCJsb VuwmUVXDymYfLjhNw+wCaZQPxLm5K6/Net8bWY8xAHPdiuzUdYftfIfuK3Ya6jobCLII Kgv7vucadi9Jpt2l9IMd0XcVxhTnOPcuyV/SI7pQzQJ5JF2BHRPhJsqfQJHeLFivhb23 BSqASHYfBUO1k58cc8eqjkjQRrqzqDdud9EtXIAHBzCAfL7cBeIYhkjHjQnIBkKDLE7H x/nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RZvAniSv0/MLHUecBSIvKMrmoz6usDwoGMxlWRtqF5A=; b=VXfwbxDA2kwdHkO1kpoP71FAkomlUkqN/B72nE2s4K/+ZU9BLORxFrnhxHczuq+wo7 TSZzM/8rsjOvc4Emlv0He5X8zuXcLOK2nhUt43nDWEWAjSxyDJVk7IjikJe/FuqlQX5X EorjBv6LrWTYQgZa9PsnS2Z7WgXMzmzqVGZBzl8xfGAWfH04XTZTo7D7Z2cEJgdkjAry ihCGHDiVWYHxM/kzhxepbWO1VRSEDfi5lsaiXkyPWL8M5C4x9BOB5eAUooCua/+OCvWJ XgCXJbOCFjVs/NmOPIdCqST6VEiwLhBeScumM+r07VYKta5B9npF3S6xMtTwNj3p1Vxk syaw== X-Gm-Message-State: AOAM533lTQnRt7YVqvwjR/ZOcbX+oFO5msG90Cy2/EAu8k9mRHewxFvl XQ9/0e7dIENMeUH+g/WmNPk= X-Google-Smtp-Source: ABdhPJzMotrPhQBXOH0NGjUXfGd5uHbE0KjOORaEY60ADI2/NYp8asnwfqP4CEsJOW0neaU22vqg2Q== X-Received: by 2002:a63:f410:: with SMTP id g16mr18634164pgi.201.1634487652994; Sun, 17 Oct 2021 09:20:52 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.20.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:20:52 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Hans Verkuil , Aline Santana Cordeiro , Yang Yingliang , Dinghao Liu , Alan , Deepak R Varma , Alex Dewar , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 03/17] media: atomisp: pci: fix inverted logic in buffers_needed() Date: Mon, 18 Oct 2021 01:19:43 +0900 Message-Id: <20211017161958.44351-4-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no When config.mode is IA_CSS_INPUT_MODE_BUFFERED_SENSOR, it rather needs buffers. Fix it by inverting the return value. Fixes: 3c0538fbad9f ("media: atomisp: get rid of most checks for ISP2401 version") Signed-off-by: Tsuchiya Yuto --- drivers/staging/media/atomisp/pci/sh_css_mipi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/sh_css_mipi.c b/drivers/staging/media/atomisp/pci/sh_css_mipi.c index 75489f7d75ee..483d40a467c7 100644 --- a/drivers/staging/media/atomisp/pci/sh_css_mipi.c +++ b/drivers/staging/media/atomisp/pci/sh_css_mipi.c @@ -374,17 +374,17 @@ static bool buffers_needed(struct ia_css_pipe *pipe) { if (!IS_ISP2401) { if (pipe->stream->config.mode == IA_CSS_INPUT_MODE_BUFFERED_SENSOR) - return false; - else return true; + else + return false; } if (pipe->stream->config.mode == IA_CSS_INPUT_MODE_BUFFERED_SENSOR || pipe->stream->config.mode == IA_CSS_INPUT_MODE_TPG || pipe->stream->config.mode == IA_CSS_INPUT_MODE_PRBS) - return false; + return true; - return true; + return false; } int From patchwork Sun Oct 17 16:19:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77803 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8uL-006Wa5-PE; Sun, 17 Oct 2021 16:21:10 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344114AbhJQQXR (ORCPT + 1 other); Sun, 17 Oct 2021 12:23:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35182 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242597AbhJQQXJ (ORCPT ); Sun, 17 Oct 2021 12:23:09 -0400 Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com [IPv6:2607:f8b0:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4BB4FC06176A; Sun, 17 Oct 2021 09:21:00 -0700 (PDT) Received: by mail-pf1-x429.google.com with SMTP id c29so12850863pfp.2; Sun, 17 Oct 2021 09:21:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=PWlb0PD+hba2ycuIMOZUvqceben2JcBu02wktaRW7mc=; b=EBDCf0fZF29xXpEZugdm4yGMSfmfn5/szXiPq4WacUbTkBM14D/mcpud9Mvs2IDNhC eV2wZbbnNsIygfC6bWwwLwUgTkSeieVJN5vnk6+FaGlQO7JqboX/GKRpUPyS6SI1XmgD hxTfgugiEt6/A7NlmiAJpm8JEpqiM3tRHsY/3dUxZsEjQDk3oclr80kXDt9G/ggZpOWE jIqvTdlMeNhCi4QBvfyxZ7pgzGRMCS76sBocn2r9AHFb9anXWXmvGUPyidTqPSpjGXrm fWqew3qvRprbG4B0KIKOF7U1qxGZD1gfFF6+gI7rfnSebGMj2F7A7xtr16iclxAjAJB5 HzJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=PWlb0PD+hba2ycuIMOZUvqceben2JcBu02wktaRW7mc=; b=B3xFDF7da/f5ok7jT3+O9h3uWTh2G6faFHgpyKoSKhqeerajb5vpwwn0XMOz49lrQY 2s6KiCVQMCSvZN1QvJzsvGI5titSvsWNSkTGD8dkAKH5dgLqcVl5t7bB9x7H3FiEPaKE thaw1VWKpmyPdS5F3HL2MIyfLC5QcSVPh+r53tnIS2AWZMU1cjYQRgfkneGuH1aJbVDr Xud7IZWTWdWOIxnS24I8/DRko5GLF6ke27ulJph1uJZGyAhBCVz0hBJrTKE9c4NhajCu DGCoSOrDCXZJCg7jyiIgIPlHqmeJWvL6Cdtz8gZVOWReB4QIoKShBQOqq+fqUQz6Ncql xAbA== X-Gm-Message-State: AOAM532qEFdN4squxUDuaI67ha0aHG0RnuCp8QBhonQtHQxxG/NXNX72 EwsvTBj2XX5QHCmicPZATmY= X-Google-Smtp-Source: ABdhPJz7Ep5jXHXKgfqwbim8dmZm6LG0bMwK1khbWwN818H6jrG/pLiV8HPkejsoJVaMPi42YD19ng== X-Received: by 2002:a63:bf4a:: with SMTP id i10mr18959256pgo.196.1634487659626; Sun, 17 Oct 2021 09:20:59 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.20.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:20:59 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Yang Yingliang , Hans Verkuil , Aline Santana Cordeiro , Alan , Dinghao Liu , Deepak R Varma , Alex Dewar , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 04/17] media: atomisp: pci: do not use err var when checking port validity for ISP2400 Date: Mon, 18 Oct 2021 01:19:44 +0900 Message-Id: <20211017161958.44351-5-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no Currently, the `port >= N_CSI_PORTS || err` checks for ISP2400 are always evaluated as true because the err variable is set to `-EINVAL` on declaration but the variable is never used until the evaluation. Looking at the diff of commit 3c0538fbad9f ("media: atomisp: get rid of most checks for ISP2401 version"), the `port >= N_CSI_PORTS` check is for ISP2400 and the err variable check is for ISP2401. Fix this issue by adding ISP version test there accordingly. Yes, there are other better ways to fix this issue, like adding support for ISP2400 to ia_css_mipi_is_source_port_valid(). In this way, we can unify the following test: if (!IS_ISP2401) port = (unsigned int)pipe->stream->config.source.port.port; else err = ia_css_mipi_is_source_port_valid(pipe, &port); However, the IS_ISP2401 test here (formerly `ifdef ISP2401`) is not a result of real hardware difference, but just a result of the following two different versions of driver merged by tools [1]: - ISP2400: irci_stable_candrpv_0415_20150521_0458 - ISP2401: irci_ecr-master_20150911_0724 We should eventually remove (not unify) such tests caused by just a driver version difference and use just one version of driver. So, for now, let's avoid further unification. [1] The function ia_css_mipi_is_source_port_valid() and its usage is added on updating css version to irci_master_20150701_0213 https://raw.githubusercontent.com/intel/ProductionKernelQuilts/cht-m1stable-2016_ww31/uefi/cht-m1stable/patches/cam-0439-atomisp2-css2401-and-2401_legacy-irci_master_2015070.patch ("atomisp2: css2401 and 2401_legacy-irci_master_20150701_0213") Fixes: 3c0538fbad9f ("media: atomisp: get rid of most checks for ISP2401 version") Signed-off-by: Tsuchiya Yuto --- drivers/staging/media/atomisp/pci/sh_css_mipi.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/sh_css_mipi.c b/drivers/staging/media/atomisp/pci/sh_css_mipi.c index 483d40a467c7..65fc93c5d56b 100644 --- a/drivers/staging/media/atomisp/pci/sh_css_mipi.c +++ b/drivers/staging/media/atomisp/pci/sh_css_mipi.c @@ -430,7 +430,8 @@ allocate_mipi_frames(struct ia_css_pipe *pipe, assert(port < N_CSI_PORTS); - if (port >= N_CSI_PORTS || err) { + if ((!IS_ISP2401 && port >= N_CSI_PORTS) || + (IS_ISP2401 && err)) { ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "allocate_mipi_frames(%p) exit: error: port is not correct (port=%d).\n", pipe, port); @@ -559,7 +560,8 @@ free_mipi_frames(struct ia_css_pipe *pipe) assert(port < N_CSI_PORTS); - if (port >= N_CSI_PORTS || err) { + if ((!IS_ISP2401 && port >= N_CSI_PORTS) || + (IS_ISP2401 && err)) { ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "free_mipi_frames(%p, %d) exit: error: pipe port is not correct.\n", pipe, port); @@ -670,7 +672,8 @@ send_mipi_frames(struct ia_css_pipe *pipe) assert(port < N_CSI_PORTS); - if (port >= N_CSI_PORTS || err) { + if ((!IS_ISP2401 && port >= N_CSI_PORTS) || + (IS_ISP2401 && err)) { IA_CSS_ERROR("send_mipi_frames(%p) exit: invalid port specified (port=%d).\n", pipe, port); return err; From patchwork Sun Oct 17 16:19:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77804 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8uQ-006Wa5-EJ; Sun, 17 Oct 2021 16:21:14 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344135AbhJQQXW (ORCPT + 1 other); Sun, 17 Oct 2021 12:23:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35214 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344103AbhJQQXQ (ORCPT ); Sun, 17 Oct 2021 12:23:16 -0400 Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF26AC06176C; Sun, 17 Oct 2021 09:21:06 -0700 (PDT) Received: by mail-pg1-x536.google.com with SMTP id 133so13550028pgb.1; Sun, 17 Oct 2021 09:21:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kPQMaAl18vlXvtzY3u2mFwVBriklZfpAQgwXY9rKh7o=; b=nMgftG/DJnSH7FCQYuApWdUYV+mxq1ZnJSRJjmHhsiR1b/igSdXAML30k1n/UfRUx7 P/Cxy1p3Kl5tx2kDt6hrTthg0WnjWP6YykTL9HvhPkp2adma+BPr9W1zS5Y1sfXaGKLy jBdOdtDMKDC8x7fWcqQ+t9prMgAyQwOtpnEblfAPyVENuPdZObTboG2xnRG6BX5Ldb6J wvxbEmthg3ey5k+sX4MJQ+y/DTpd9IsYZZihsvf8wO97Y13FcsgnVc8i9iaAu8HzB/8g 5U+C7Gf4UGvQPSOcyeYLpx40dGvyBZdPXGyq2/1ldP+EUlOBWUwj7a6nMTfdxhpeSnl3 iQyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kPQMaAl18vlXvtzY3u2mFwVBriklZfpAQgwXY9rKh7o=; b=gx+W+oL0Ki3uTWzYAEVa4rE5k1ToSq3R+NKPz1c3GeiFPA0ZZSW1u1SvQaf1wjodDH gluEPo5rt9nrs8LDQboXRmwffDgMpNApsBF6rIAbxVphUWNSLEVomADrPxHXEsEu+qbO cgxOGpqcJ0GVSXwRHnMGgEL6Xk0+i78YkZl1mNwGgYPI2Ew75MFqAiD0C6eMeR7MwRSe WsSTgOr6obKGLjCzE3e1wGteA7A77zzgPKSc6nj9/TpKDDgUk/lDXyOXH1xXQhxz4N/V mVeYfyaPjeyE9M32OzWLBXq8x21VtHtGoLYzuXq/Sa+amORG1X22JUoupTeaKLUtzhhF h1TQ== X-Gm-Message-State: AOAM530vFTGWGrsRfQC7noNMlX0qMjQrOxvoPhWkEqBWLYW5NslInoOn Wuqe1s1zdQGYaDjxZriTn/A= X-Google-Smtp-Source: ABdhPJwylO8lupxyYn8xSrX8xDfdHl+dQQeZXlCuVVmcKZ/ex48H0ClPY3krGCeMRZNLTxdK7A5Sng== X-Received: by 2002:a62:1c4e:0:b0:44d:76b:de98 with SMTP id c75-20020a621c4e000000b0044d076bde98mr24413785pfc.16.1634487666153; Sun, 17 Oct 2021 09:21:06 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.21.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:21:05 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Hans Verkuil , Aline Santana Cordeiro , Yang Yingliang , Alan , Dinghao Liu , Deepak R Varma , Alex Dewar , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 05/17] media: atomisp: pci: fix inverted error check for ia_css_mipi_is_source_port_valid() Date: Mon, 18 Oct 2021 01:19:45 +0900 Message-Id: <20211017161958.44351-6-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no The function ia_css_mipi_is_source_port_valid() returns true if the port is valid. So, we can't use the existing err variable as is. To fix this issue while reusing that variable, invert the return value when assigning it to the variable. Fixes: 3c0538fbad9f ("media: atomisp: get rid of most checks for ISP2401 version") Signed-off-by: Tsuchiya Yuto --- .../staging/media/atomisp/pci/sh_css_mipi.c | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/sh_css_mipi.c b/drivers/staging/media/atomisp/pci/sh_css_mipi.c index 65fc93c5d56b..c1f2f6151c5f 100644 --- a/drivers/staging/media/atomisp/pci/sh_css_mipi.c +++ b/drivers/staging/media/atomisp/pci/sh_css_mipi.c @@ -423,10 +423,12 @@ allocate_mipi_frames(struct ia_css_pipe *pipe, return 0; /* AM TODO: Check */ } - if (!IS_ISP2401) + if (!IS_ISP2401) { port = (unsigned int)pipe->stream->config.source.port.port; - else - err = ia_css_mipi_is_source_port_valid(pipe, &port); + } else { + /* Returns true if port is valid. So, invert it */ + err = !ia_css_mipi_is_source_port_valid(pipe, &port); + } assert(port < N_CSI_PORTS); @@ -553,10 +555,12 @@ free_mipi_frames(struct ia_css_pipe *pipe) return err; } - if (!IS_ISP2401) + if (!IS_ISP2401) { port = (unsigned int)pipe->stream->config.source.port.port; - else - err = ia_css_mipi_is_source_port_valid(pipe, &port); + } else { + /* Returns true if port is valid. So, invert it */ + err = !ia_css_mipi_is_source_port_valid(pipe, &port); + } assert(port < N_CSI_PORTS); @@ -665,10 +669,12 @@ send_mipi_frames(struct ia_css_pipe *pipe) /* TODO: AM: maybe this should be returning an error. */ } - if (!IS_ISP2401) + if (!IS_ISP2401) { port = (unsigned int)pipe->stream->config.source.port.port; - else - err = ia_css_mipi_is_source_port_valid(pipe, &port); + } else { + /* Returns true if port is valid. So, invert it */ + err = !ia_css_mipi_is_source_port_valid(pipe, &port); + } assert(port < N_CSI_PORTS); From patchwork Sun Oct 17 16:19:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77805 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8uV-006Wa5-DM; Sun, 17 Oct 2021 16:21:19 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344103AbhJQQX1 (ORCPT + 1 other); Sun, 17 Oct 2021 12:23:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35162 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344128AbhJQQXW (ORCPT ); Sun, 17 Oct 2021 12:23:22 -0400 Received: from mail-pg1-x52a.google.com (mail-pg1-x52a.google.com [IPv6:2607:f8b0:4864:20::52a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4C35DC06161C; Sun, 17 Oct 2021 09:21:13 -0700 (PDT) Received: by mail-pg1-x52a.google.com with SMTP id c4so6485331pgv.11; Sun, 17 Oct 2021 09:21:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=cXleAOz5sUQbG5Eded1WlMxLpubBbVfEG6e8M7J8b5M=; b=qdJ72r3up7WkSea+cx4dHI6KxMSNGvsc1QiylhVVwNJnwQ607EMeVxo8a05ScfJfSX MBKDjkF1Bz1ACnjA+1fC9WMu4UFYQlS2pOua2GalepIo8Wim8Q1Ttk/fksELsRTZRRXX 8UexZUV5qrDmkEWiMpYsDKUxDoe/bQo30e/BlXagVoe1orgaIQs/kr9cAl8b3HxPBitM nr5SrcrRVzO7QHr/V9EPM7Nwi5KvdpYTxe8A4GwWcl1ABqI7r/Mco1WrZ5uMHYUEfkAU 89mJAuxkG+FNx8bql3hge35gqNL96dN1FlOkx1DlMLaRyradURxV3uocGtmhWjirEmJM 3VVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=cXleAOz5sUQbG5Eded1WlMxLpubBbVfEG6e8M7J8b5M=; b=ElFIz5/U3j0Jp70EURUtyGbDnL/2lJAzh/QC42lvPxYUQsCex+rGC1RyWAuMFPWAoX PtPTf8+60sP3nhF5vGVsiIO1B3l3okOL9sK6afZ36Ezow0yVqvLGzIt4KojpDDxEwE+a lAxcYPKH3c+iRsN3OObuezqmTFVdoNwDIWlRk9rrgZZjUxioTRncU31BHv/BV/r5nPTs Mp+CMASSWiLXbjumfXZ3uf1bjbEVc23vx4aVKtOdFMzIt+MkSt1Sjk4oP8Jpfvihkm+F DIlIaPuZa8M1KW+/MBOGg5dgtCFpR5B/cdeX7H19SHUSzAeXOBREFI5avaidHi5x4stQ /EHw== X-Gm-Message-State: AOAM530lm1s0AXFHiw/EPCMOmvS4olFkY9hkCKh5auPjc9Lp5fwMtd0w P/w93oEgy1oP8ggvBzsmSL0= X-Google-Smtp-Source: ABdhPJxnKsNhivIZnicj1Gu+//OI/m1M2aSSmLdUGGJPhjw5hn3pVHMqRGmF430kExMT+S/HiQoTHw== X-Received: by 2002:a63:368a:: with SMTP id d132mr18604894pga.342.1634487672790; Sun, 17 Oct 2021 09:21:12 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.21.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:21:12 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Yang Yingliang , Aline Santana Cordeiro , Hans Verkuil , Alan , Dinghao Liu , Deepak R Varma , Alex Dewar , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 06/17] media: atomisp: pci: use IA_CSS_ERROR() for error messages in sh_css_mipi.c Date: Mon, 18 Oct 2021 01:19:46 +0900 Message-Id: <20211017161958.44351-7-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no Some debug messages for error cases (messages contain "error: ") use IA_CSS_DEBUG_TRACE_PRIVATE debug level. This causes these error messages not to appear unless users raise debug output level to 7 or higher (using module parameter, dbg_level=7). So, use IA_CSS_DEBUG_ERROR debug level (dbg_level=1) instead considering that these are error messages. There is already a macro IA_CSS_ERROR() for this use case. Let's use it. It automatically appends "error: " at the beginning and a newline to a message. Therefore, we can remove them from these messages. While here, remove the unnecessary newline from one IA_CSS_ERROR() occurrence in the same file. Signed-off-by: Tsuchiya Yuto --- .../staging/media/atomisp/pci/sh_css_mipi.c | 32 ++++++++----------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/sh_css_mipi.c b/drivers/staging/media/atomisp/pci/sh_css_mipi.c index c1f2f6151c5f..de56a1da754d 100644 --- a/drivers/staging/media/atomisp/pci/sh_css_mipi.c +++ b/drivers/staging/media/atomisp/pci/sh_css_mipi.c @@ -434,9 +434,8 @@ allocate_mipi_frames(struct ia_css_pipe *pipe, if ((!IS_ISP2401 && port >= N_CSI_PORTS) || (IS_ISP2401 && err)) { - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, - "allocate_mipi_frames(%p) exit: error: port is not correct (port=%d).\n", - pipe, port); + IA_CSS_ERROR("allocate_mipi_frames(%p) exit: port is not correct (port=%d).", + pipe, port); return -EINVAL; } @@ -497,9 +496,8 @@ allocate_mipi_frames(struct ia_css_pipe *pipe, my_css.mipi_frames[port][j] = NULL; } } - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, - "allocate_mipi_frames(%p, %d) exit: error: allocation failed.\n", - pipe, port); + IA_CSS_ERROR("allocate_mipi_frames(%p, %d) exit: allocation failed.", + pipe, port); return err; } } @@ -542,16 +540,14 @@ free_mipi_frames(struct ia_css_pipe *pipe) if (pipe) { assert(pipe->stream); if ((!pipe) || (!pipe->stream)) { - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, - "free_mipi_frames(%p) exit: error: pipe or stream is null.\n", - pipe); + IA_CSS_ERROR("free_mipi_frames(%p) exit: pipe or stream is null.", + pipe); return -EINVAL; } if (!buffers_needed(pipe)) { - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, - "free_mipi_frames(%p) exit: error: wrong mode.\n", - pipe); + IA_CSS_ERROR("free_mipi_frames(%p) exit: wrong mode.", + pipe); return err; } @@ -566,9 +562,8 @@ free_mipi_frames(struct ia_css_pipe *pipe) if ((!IS_ISP2401 && port >= N_CSI_PORTS) || (IS_ISP2401 && err)) { - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, - "free_mipi_frames(%p, %d) exit: error: pipe port is not correct.\n", - pipe, port); + IA_CSS_ERROR("free_mipi_frames(%p, %d) exit: pipe port is not correct.", + pipe, port); return err; } @@ -576,9 +571,8 @@ free_mipi_frames(struct ia_css_pipe *pipe) #if !defined(ISP2401) assert(ref_count_mipi_allocation[port] == 1); if (ref_count_mipi_allocation[port] != 1) { - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, - "free_mipi_frames(%p) exit: error: wrong ref_count (ref_count=%d).\n", - pipe, ref_count_mipi_allocation[port]); + IA_CSS_ERROR("free_mipi_frames(%p) exit: wrong ref_count (ref_count=%d).", + pipe, ref_count_mipi_allocation[port]); return err; } #endif @@ -680,7 +674,7 @@ send_mipi_frames(struct ia_css_pipe *pipe) if ((!IS_ISP2401 && port >= N_CSI_PORTS) || (IS_ISP2401 && err)) { - IA_CSS_ERROR("send_mipi_frames(%p) exit: invalid port specified (port=%d).\n", + IA_CSS_ERROR("send_mipi_frames(%p) exit: invalid port specified (port=%d).", pipe, port); return err; } From patchwork Sun Oct 17 16:19:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77806 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8ub-006Wav-TY; Sun, 17 Oct 2021 16:21:26 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344110AbhJQQXc (ORCPT + 1 other); Sun, 17 Oct 2021 12:23:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35270 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344085AbhJQQX3 (ORCPT ); Sun, 17 Oct 2021 12:23:29 -0400 Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EC2B9C061768; Sun, 17 Oct 2021 09:21:19 -0700 (PDT) Received: by mail-pl1-x631.google.com with SMTP id t21so1572938plr.6; Sun, 17 Oct 2021 09:21:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ckrUwHLOukwoUB/hFCfgkrZjXpKJdUb5PQzUAqzB0DM=; b=k1eH1OhyCCff9xIzkyBRVKg0zAOMdQZ40bFur0QFNYuR7/LJNh7HZC1nJnorXRwgzP 8tK9+V6diClLVZTJrh0k5ech1aDHjbdwZzBSygAhnYIKbmF5wWauJCQ2RqQqh85rR3A8 GUrAWSPdDAkDBp30Qo+TpocbKh/Q/4VdMw9nLC5l95ThHxIpztXh4IvQltFzHhbfuTzv qPo/jPDaqEBEvu3F3iz2ap8LZrChh4GiojQ6/NpNDBO+dHP4ZShs8b42zkdRzG8VVydE siMT6zMf2EcSSKGNn26uoK48wDQqBtx3SwrzpTjmXN4rV+zZ8FjRLgWm+P87ARTApFyS GAIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ckrUwHLOukwoUB/hFCfgkrZjXpKJdUb5PQzUAqzB0DM=; b=VUm8RjYL0tCy4wreKS9SwikPkqwmAt8q2GRuyBZhMjj0w/ZSFO/vlju2pT/nyEZTIy 7rgKSsy8+rG3bde8UbHq6HudOazt3QF79/CtWG2EOBRzAU/ByJiVWhtX4Js71QG3l9yG 4UMlWYEf32okYgD0siXx8KPpdVeKtSoOdpcDMIyeD8eSlx7cGOA9Xbu49PuUokSZ8AJk BbQn7I4GxyVtLX+UD7o8vOOmlYTKtNCEO+7WFkVvpExhNsjb3ly0OvrwG3K6Fn1sRHvF ZbErG/qzCNUqFBvZUnLnbIrUhQ6u/iizYYJA9Mp9RX+Pzyu7e5JN/7TYVBEeQy2yhVtt lodA== X-Gm-Message-State: AOAM530l0fAnlidgtZfM9QByWVehpcW9V+erf8+csvKbELvofHLJV0PN Whiao3z0A8n2CrvLWFvbX14= X-Google-Smtp-Source: ABdhPJwNreFIIsKAxO7uA6IYRA1CYtWsWDd1nWy3NKWm6R3GxxKZQxz/93NizNpnxtujFFZnGg9qjg== X-Received: by 2002:a17:90b:17c3:: with SMTP id me3mr15557010pjb.70.1634487679400; Sun, 17 Oct 2021 09:21:19 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.21.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:21:19 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Aline Santana Cordeiro , Yang Yingliang , Hans Verkuil , Dinghao Liu , Alan , Martiros Shakhzadyan , Kees Cook , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 07/17] media: atomisp: pci: fix ifdefs in sh_css.c Date: Mon, 18 Oct 2021 01:19:47 +0900 Message-Id: <20211017161958.44351-8-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no ## `if (pipe->stream->config.mode == IA_CSS_INPUT_MODE_TPG) {` case The intel-aero atomisp has `#if defined(IS_ISP_2400_SYSTEM)` [1]. It is to be defined in the following two places [2]: - css/hive_isp_css_common/system_global.h - css/css_2401_csi2p_system/system_global.h and the former file is to be included on ISP2400 devices, too. So, it is to be defined for both ISP2400 and ISP2401 devices. Because the upstreamed atomisp driver now supports only ISP2400 and ISP2401, just remove the ISP version test again. This matches the other upstream commits like 3c0538fbad9f ("media: atomisp: get rid of most checks for ISP2401 version"). While here, moved the comment for define GP_ISEL_TPG_MODE to the appropriate place. [1] https://github.com/intel-aero/linux-kernel/blob/a1b673258feb915268377275130c5c5df0eafc82/drivers/media/pci/atomisp/css/sh_css.c#L552-L558 [2] https://github.com/intel-aero/linux-kernel/search?q=IS_ISP_2400_SYSTEM ## `isys_stream_descr->polling_mode` case This does not exist on the intel-aero atomisp. This is because it is based on css version irci_stable_candrpv_0415_20150521_0458. On the other hand, the upstreamed atomisp is based on the following css version depending on the ISP version using ifdefs: - ISP2400: irci_stable_candrpv_0415_20150521_0458 - ISP2401: irci_master_20150911_0724 The `isys_stream_descr->polling_mode` usage was added on updating css version to irci_master_20150701_0213 [3]. So, it is not a ISP version specific thing, but css version specific thing. Because the upstreamed atomisp driver uses irci_master_20150911_0724 for ISP2401, re-add the ISP version check for now. I say "for now" because ISP2401 should eventually use the same css version with ISP2400 (i.e., irci_stable_candrpv_0415_20150521_0458) [3] https://raw.githubusercontent.com/intel/ProductionKernelQuilts/cht-m1stable-2016_ww31/uefi/cht-m1stable/patches/cam-0439-atomisp2-css2401-and-2401_legacy-irci_master_2015070.patch ("atomisp2: css2401 and 2401_legacy-irci_master_20150701_0213") Link to Intel's Android kernel patch. ## `coord = &me->config.internal_frame_origin_bqs_on_sctbl;` case it was added on commit 4f744a573db3 ("media: atomisp: make sh_css_sp_init_pipeline() ISP version independent") for ISP2401. Because the upstreamed atomisp for the ISP2401 part is based on irci_master_20150911_0724, hence the difference. Because the upstreamed atomisp driver uses irci_master_20150911_0724 for ISP2401, revert the test back to `if (IS_ISP2401)`. Fixes: 27333dadef57 ("media: atomisp: adjust some code at sh_css that could be broken") Signed-off-by: Tsuchiya Yuto --- drivers/staging/media/atomisp/pci/sh_css.c | 27 +++++++++------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/sh_css.c b/drivers/staging/media/atomisp/pci/sh_css.c index c4b35cbab373..ba25d0da8b81 100644 --- a/drivers/staging/media/atomisp/pci/sh_css.c +++ b/drivers/staging/media/atomisp/pci/sh_css.c @@ -522,6 +522,7 @@ ia_css_stream_input_format_bits_per_pixel(struct ia_css_stream *stream) return bpp; } +/* TODO: move define to proper file in tools */ #define GP_ISEL_TPG_MODE 0x90058 #if !defined(ISP2401) @@ -573,12 +574,8 @@ sh_css_config_input_network(struct ia_css_stream *stream) vblank_cycles = vblank_lines * (width + hblank_cycles); sh_css_sp_configure_sync_gen(width, height, hblank_cycles, vblank_cycles); - if (!IS_ISP2401) { - if (pipe->stream->config.mode == IA_CSS_INPUT_MODE_TPG) { - /* TODO: move define to proper file in tools */ - ia_css_device_store_uint32(GP_ISEL_TPG_MODE, 0); - } - } + if (pipe->stream->config.mode == IA_CSS_INPUT_MODE_TPG) + ia_css_device_store_uint32(GP_ISEL_TPG_MODE, 0); } ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "sh_css_config_input_network() leave:\n"); @@ -1009,16 +1006,14 @@ static bool sh_css_translate_stream_cfg_to_isys_stream_descr( * ia_css_isys_stream_capture_indication() instead of * ia_css_pipeline_sp_wait_for_isys_stream_N() as isp processing of * capture takes longer than getting an ISYS frame - * - * Only 2401 relevant ?? */ -#if 0 // FIXME: NOT USED on Yocto Aero - isys_stream_descr->polling_mode - = early_polling ? INPUT_SYSTEM_POLL_ON_CAPTURE_REQUEST - : INPUT_SYSTEM_POLL_ON_WAIT_FOR_FRAME; - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, - "sh_css_translate_stream_cfg_to_isys_stream_descr() leave:\n"); -#endif + if (IS_ISP2401) { + isys_stream_descr->polling_mode + = early_polling ? INPUT_SYSTEM_POLL_ON_CAPTURE_REQUEST + : INPUT_SYSTEM_POLL_ON_WAIT_FOR_FRAME; + ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, + "sh_css_translate_stream_cfg_to_isys_stream_descr() leave:\n"); + } return rc; } @@ -1433,7 +1428,7 @@ static void start_pipe( assert(me); /* all callers are in this file and call with non null argument */ - if (!IS_ISP2401) { + if (IS_ISP2401) { coord = &me->config.internal_frame_origin_bqs_on_sctbl; params = me->stream->isp_params_configs; } From patchwork Sun Oct 17 16:19:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77807 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8ul-006Wav-Rk; Sun, 17 Oct 2021 16:21:36 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344088AbhJQQXn (ORCPT + 1 other); Sun, 17 Oct 2021 12:23:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35326 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242595AbhJQQXl (ORCPT ); Sun, 17 Oct 2021 12:23:41 -0400 Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A23C9C06161C; Sun, 17 Oct 2021 09:21:31 -0700 (PDT) Received: by mail-pf1-x433.google.com with SMTP id d9so5629182pfl.6; Sun, 17 Oct 2021 09:21:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yJ7RPoYM8/I+NZHSQR8UmWgQfVFixTVHBNdgrJkw95k=; b=U3tJgQMoXAE33E/JvCK22bipL0xtOHHPqumA6FZo4zR4KJuY0QMvo02EAjwM/H1zd0 lcmGN9sL8lfshqo/jFj6wswo9WHYgQ6yaltp4CPN8WguGmVTCTqneNHZg+EVwVGqIreN SQuhjFFqCFoYdb1QmUUYIHgqi66RDF62G1o9cGJUl6A96z53k7PnOETVKMq4dsqb4wt2 nEaAwrysAqXrE72aacuw3nqeVIU0mrc08fgYjywGmLpa7Cb+47ppZQE3NdnEzJOaCrCc 9+uWhkDXTg9LNK8bOrG8tQxJnQC8PiC8S3bLyJMJo/5cgzU8eJoTYeHtwWxtYeEThsU+ W9qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yJ7RPoYM8/I+NZHSQR8UmWgQfVFixTVHBNdgrJkw95k=; b=O8hKtOmZIEAfEqju+V14vtTboer47s3vGOMiRzuXG7JFDoQlHzsuL59107L3wXXi3W fydqikorU44aYWpJr9aQuvMuImw8Mq55fU8oZ1aWqXCr1Xyo1JpZgCEnJTc0wlxtSVKB efyqJ04S5FSX5QNvnS4tvDaYV7U4JriN4xzDS1mDyfNSVisMNasyYdheBmyypE2P3lqk AOGnh/oGDmq6/+bhMPdDx/WccANHQ2U2t37ZBeUaZZzuRzOmgJCkNxEm85eBc3WIvzlU x0oYchObRRh2KLt5TVmK7civJPYVcJ+7d7v9mtV1K3LsbaLBASdZSG15Df6d3Z6JV1v0 pnhg== X-Gm-Message-State: AOAM530yvjwIdE6LHlQTjRCTOhkaFAUsj0ZZGumE/++CIAcgFGrMkdRq HXSnH6vgNf33hPXkwzfFlkw= X-Google-Smtp-Source: ABdhPJzEQyHvgI0Aj078jLZ7CkzGrKCHytcEawZvkTiP+iJgowuNBtEyBZCp+3Xk/A5w9P8bB5zixg== X-Received: by 2002:a63:cd09:: with SMTP id i9mr19329832pgg.129.1634487691141; Sun, 17 Oct 2021 09:21:31 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.21.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:21:30 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Hans Verkuil , Yang Yingliang , Aline Santana Cordeiro , Dinghao Liu , Alan , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 08/17] media: atomisp: pci: make fw ver irci_stable_candrpv_0415_20150521_0458 work - 1/5 Date: Mon, 18 Oct 2021 01:19:48 +0900 Message-Id: <20211017161958.44351-9-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no This is one of the patches which partially revert incompatible changes in the current css version for ISP2401 (irci_ecr-master_20150911_0724) back to irci_stable_candrpv_0415_20150521_0458. Some `struct`s are `sizeof()`ed in sh_css_firmware.c file. So, I guess issues will happen if these sizes are changed. Therefore, keep them the same as css version irci_stable_candrpv_0415_20150521_0458 to make atomisp work for firmware made for such css version since we don't have firmware made for the current css version. This patch removes luma_only, input_yuv and input_raw from `struct ia_css_binary_info` as well as its usage [1]. Note that for input_yuv and input_raw, only the definitions were removed because these were not used anywhere. [1] added on updating css version to irci_master_20150701_0213 https://raw.githubusercontent.com/intel/ProductionKernelQuilts/cht-m1stable-2016_ww31/uefi/cht-m1stable/patches/cam-0439-atomisp2-css2401-and-2401_legacy-irci_master_2015070.patch ("atomisp2: css2401 and 2401_legacy-irci_master_20150701_0213") Signed-off-by: Tsuchiya Yuto --- .../atomisp/pci/camera/pipe/src/pipe_binarydesc.c | 5 ----- .../staging/media/atomisp/pci/ia_css_acc_types.h | 5 ----- .../staging/media/atomisp/pci/ia_css_pipe_public.h | 3 --- .../pci/runtime/binary/interface/ia_css_binary.h | 1 - .../media/atomisp/pci/runtime/binary/src/binary.c | 14 -------------- 5 files changed, 28 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_binarydesc.c b/drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_binarydesc.c index f20c9b02fbe0..3e3e5a4f8117 100644 --- a/drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_binarydesc.c +++ b/drivers/staging/media/atomisp/pci/camera/pipe/src/pipe_binarydesc.c @@ -58,7 +58,6 @@ static void pipe_binarydesc_get_offline( descr->enable_dz = true; descr->enable_xnr = false; descr->enable_dpc = false; - descr->enable_luma_only = false; descr->enable_tnr = false; descr->enable_capture_pp_bli = false; descr->enable_fractional_ds = false; @@ -390,8 +389,6 @@ int ia_css_pipe_get_video_binarydesc( pipe->extra_config.enable_fractional_ds; video_descr->enable_dpc = pipe->config.enable_dpc; - video_descr->enable_luma_only = - pipe->config.enable_luma_only; video_descr->enable_tnr = pipe->config.enable_tnr; @@ -600,8 +597,6 @@ void ia_css_pipe_get_primary_binarydesc( prim_descr->isp_pipe_version = pipe->config.isp_pipe_version; prim_descr->enable_fractional_ds = pipe->extra_config.enable_fractional_ds; - prim_descr->enable_luma_only = - pipe->config.enable_luma_only; /* We have both striped and non-striped primary binaries, * if continuous viewfinder is required, then we must select * a striped one. Otherwise we prefer to use a non-striped diff --git a/drivers/staging/media/atomisp/pci/ia_css_acc_types.h b/drivers/staging/media/atomisp/pci/ia_css_acc_types.h index 36583ab12e3f..d0ce2f8ba653 100644 --- a/drivers/staging/media/atomisp/pci/ia_css_acc_types.h +++ b/drivers/staging/media/atomisp/pci/ia_css_acc_types.h @@ -222,11 +222,6 @@ struct ia_css_binary_info { struct ia_css_isp_param_isp_segments mem_initializers; /* MW: Packing (related) bools in an integer ?? */ struct { - /* ISP2401 */ - u8 luma_only; - u8 input_yuv; - u8 input_raw; - u8 reduced_pipe; u8 vf_veceven; u8 dis; diff --git a/drivers/staging/media/atomisp/pci/ia_css_pipe_public.h b/drivers/staging/media/atomisp/pci/ia_css_pipe_public.h index 4affd21f9e3f..45e8fe36cb74 100644 --- a/drivers/staging/media/atomisp/pci/ia_css_pipe_public.h +++ b/drivers/staging/media/atomisp/pci/ia_css_pipe_public.h @@ -123,9 +123,6 @@ struct ia_css_pipe_config { processing stages. */ /* ISP2401 */ - bool enable_luma_only; - /** Enabling of monochrome mode for a pipeline. If enabled only luma processing - will be done. */ bool enable_tnr; /** Enabling of TNR (temporal noise reduction). This is only applicable to video pipes. Non video-pipes should always set this parameter to false. */ diff --git a/drivers/staging/media/atomisp/pci/runtime/binary/interface/ia_css_binary.h b/drivers/staging/media/atomisp/pci/runtime/binary/interface/ia_css_binary.h index b44099dbdacd..6f110d241836 100644 --- a/drivers/staging/media/atomisp/pci/runtime/binary/interface/ia_css_binary.h +++ b/drivers/staging/media/atomisp/pci/runtime/binary/interface/ia_css_binary.h @@ -94,7 +94,6 @@ struct ia_css_binary_descr { bool enable_dpc; /* ISP2401 */ - bool enable_luma_only; bool enable_tnr; bool enable_capture_pp_bli; diff --git a/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c b/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c index 060d38749570..8c0e02e4e1af 100644 --- a/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c +++ b/drivers/staging/media/atomisp/pci/runtime/binary/src/binary.c @@ -1394,9 +1394,6 @@ static int __ia_css_binary_find(struct ia_css_binary_descr *descr, bool enable_dvs_6axis; bool enable_reduced_pipe; bool enable_capture_pp_bli; -#ifdef ISP2401 - bool enable_luma_only; -#endif int err = -EINVAL; bool continuous; unsigned int isp_pipe_version; @@ -1450,9 +1447,6 @@ static int __ia_css_binary_find(struct ia_css_binary_descr *descr, enable_dvs_6axis = descr->enable_dvs_6axis; enable_reduced_pipe = descr->enable_reduced_pipe; enable_capture_pp_bli = descr->enable_capture_pp_bli; -#ifdef ISP2401 - enable_luma_only = descr->enable_luma_only; -#endif continuous = descr->continuous; striped = descr->striped; isp_pipe_version = descr->isp_pipe_version; @@ -1748,14 +1742,6 @@ static int __ia_css_binary_find(struct ia_css_binary_descr *descr, } #ifdef ISP2401 - if (candidate->enable.luma_only != enable_luma_only) { - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, - "ia_css_binary_find() [%d] continue: %d != %d\n", - __LINE__, candidate->enable.luma_only, - descr->enable_luma_only); - continue; - } - if (!candidate->enable.tnr && need_tnr) { ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_binary_find() [%d] continue: !%d && %d\n", From patchwork Sun Oct 17 16:19:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77808 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8uu-006Wav-5p; Sun, 17 Oct 2021 16:21:44 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241513AbhJQQXw (ORCPT + 1 other); Sun, 17 Oct 2021 12:23:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35380 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237973AbhJQQXw (ORCPT ); Sun, 17 Oct 2021 12:23:52 -0400 Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 66512C06161C; Sun, 17 Oct 2021 09:21:42 -0700 (PDT) Received: by mail-pl1-x629.google.com with SMTP id 21so9590717plo.13; Sun, 17 Oct 2021 09:21:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Fbsa0URnWzuJi7XOxccO2sQBebKEz+NX/dFiG0zgGO4=; b=B83xL/3VlstQPjKHZYywePGzZAFglGVAulnqpe8h9HcDp/OVfERjQ7AjrqD5ePJpUZ w46mp5JpHU8Hk7nkb6n+5XMchFgMewXILl8WFu1TaFVYe4VBUyZK2hDELxznRIRyFckj MMlLIZoVektaUwB/DYnAg2sW8y5iLhTX+qfkazCIciFGJM/vUCfUDJ4H/goLRnkasydR GXoVxcB2DrEV0jn6hhxfrdfgnBT7/gSAjoJP3HcBvG/GiGvCtLTfLgK+pNnBcYWpvLWt 7rq1wqSp/EL1WTFXkocTV3jIg82P1L2yyioEtzPZ/yBCY4uoJCXZJ6l1mAKStZPsO3KN JuIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Fbsa0URnWzuJi7XOxccO2sQBebKEz+NX/dFiG0zgGO4=; b=lk+za+27WHpdWcM116nuNfTh0bV2xSYJqRuQuTGixbICaNpBEotBtWWWFogPH+RhDX ZBVtZW5jn+ujEXKhYlkOT0wXNWosZHcNcjHusQey4A1IAu9HmMfD2WIJBJ4h8DeTObOH ucvPfyZUwYhuYgEWImAWrJ8LIWdUJBoXzht3nF0nrbtN9GDQNUo0Oumc1HNuSgTDlqYA cI037eayRRF1OgDKPRmTlSrGS6netVN/3QOSnsYSkTkuBBVk0nGpl9+CTUq37LT+B4rg p0gcFudCbqv7GQQ8cGGfGDTlMTiLUMRlFB+uBSh1qrgqgantPXxApsxQc8SNCMuCyyF3 wCfg== X-Gm-Message-State: AOAM530UEVl+VvF8IxTHKdQ56QSq2ThScmGCA7oWYoKHAFdwoyN3uteT 3eqYxeTVObxtgmMCDgMrYBw= X-Google-Smtp-Source: ABdhPJyDxSgHdoKNLuVky5RuouHPbiwrV9Olz1FhJAGIAUC6OLT9o5GL3aHduvxkILuTx+9qQCVDCQ== X-Received: by 2002:a17:902:7001:b0:13d:d5b7:d06e with SMTP id y1-20020a170902700100b0013dd5b7d06emr22612233plk.61.1634487701795; Sun, 17 Oct 2021 09:21:41 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.21.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:21:41 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Hans Verkuil , Yang Yingliang , Aline Santana Cordeiro , Dinghao Liu , Alan , Deepak R Varma , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 09/17] media: atomisp: pci: make fw ver irci_stable_candrpv_0415_20150521_0458 work - 2/5 Date: Mon, 18 Oct 2021 01:19:49 +0900 Message-Id: <20211017161958.44351-10-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no This is one of the patches which partially revert incompatible changes in the current css version for ISP2401 (irci_ecr-master_20150911_0724) back to irci_stable_candrpv_0415_20150521_0458. Some `struct`s are `sizeof()`ed in sh_css_firmware.c file. So, I guess issues will happen if these sizes are changed. Therefore, keep them the same as css version irci_stable_candrpv_0415_20150521_0458 to make atomisp work for firmware made for such css version since we don't have firmware made for the current css version. This patch removes `struct ia_css_isp_parameter sc` from `struct ia_css_config_memory_offsets` as well as its usage [1]. [1] added on updating css version to irci_master_20150701_0213 https://raw.githubusercontent.com/intel/ProductionKernelQuilts/cht-m1stable-2016_ww31/uefi/cht-m1stable/patches/cam-0439-atomisp2-css2401-and-2401_legacy-irci_master_2015070.patch ("atomisp2: css2401 and 2401_legacy-irci_master_20150701_0213") Signed-off-by: Tsuchiya Yuto --- .../media/atomisp/pci/ia_css_isp_configs.h | 8 --- .../isp/kernels/sc/sc_1.0/ia_css_sc.host.c | 68 ------------------- .../isp/kernels/sc/sc_1.0/ia_css_sc.host.h | 33 --------- .../isp/kernels/sc/sc_1.0/ia_css_sc_types.h | 14 ---- drivers/staging/media/atomisp/pci/sh_css_sp.c | 4 -- 5 files changed, 127 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/ia_css_isp_configs.h b/drivers/staging/media/atomisp/pci/ia_css_isp_configs.h index 1abb2fd6a913..0364b932e79b 100644 --- a/drivers/staging/media/atomisp/pci/ia_css_isp_configs.h +++ b/drivers/staging/media/atomisp/pci/ia_css_isp_configs.h @@ -23,10 +23,6 @@ #include "isp/kernels/raw/raw_1.0/ia_css_raw.host.h" #include "isp/kernels/ref/ref_1.0/ia_css_ref.host.h" #include "isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.h" - -/* ISP2401 */ -#include "isp/kernels/sc/sc_1.0/ia_css_sc.host.h" - #include "isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.h" #include "isp/kernels/vf/vf_1.0/ia_css_vf.host.h" #include "isp/kernels/iterator/iterator_1.0/ia_css_iterator.host.h" @@ -73,10 +69,6 @@ struct ia_css_config_memory_offsets { struct ia_css_isp_parameter output0; struct ia_css_isp_parameter output1; struct ia_css_isp_parameter output; - - /* ISP2401 */ - struct ia_css_isp_parameter sc; - struct ia_css_isp_parameter raw; struct ia_css_isp_parameter tnr; struct ia_css_isp_parameter ref; diff --git a/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.c b/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.c index f3fb4b9b3c82..6974b3424d91 100644 --- a/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.c +++ b/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.c @@ -23,35 +23,6 @@ #include "ia_css_sc.host.h" -/* Code generated by genparam/genconfig.c:gen_configure_function() */ - -/* ISP2401 */ -static void -ia_css_configure_sc( - const struct ia_css_binary *binary, - const struct ia_css_sc_configuration *config_dmem) -{ - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, - "ia_css_configure_sc() enter:\n"); - - { - unsigned int offset = 0; - unsigned int size = 0; - - if (binary->info->mem_offsets.offsets.config) { - size = binary->info->mem_offsets.offsets.config->dmem.sc.size; - offset = binary->info->mem_offsets.offsets.config->dmem.sc.offset; - } - if (size) { - ia_css_sc_config((struct sh_css_isp_sc_isp_config *) - &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset], - config_dmem, size); - } - } - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, - "ia_css_configure_sc() leave:\n"); -} - void ia_css_sc_encode( struct sh_css_isp_sc_params *to, @@ -73,45 +44,6 @@ ia_css_sc_dump( "sc_gain_shift", sc->gain_shift); } -/* ISP2401 */ -void -ia_css_sc_config( - struct sh_css_isp_sc_isp_config *to, - const struct ia_css_sc_configuration *from, - unsigned int size) -{ - u32 internal_org_x_bqs = from->internal_frame_origin_x_bqs_on_sctbl; - u32 internal_org_y_bqs = from->internal_frame_origin_y_bqs_on_sctbl; - u32 slice, rest, i; - - (void)size; - - /* The internal_frame_origin_x_bqs_on_sctbl is separated to 8 times of slice_vec. */ - rest = internal_org_x_bqs; - for (i = 0; i < SH_CSS_SC_INTERPED_GAIN_HOR_SLICE_TIMES; i++) { - slice = min(rest, ((uint32_t)ISP_SLICE_NELEMS)); - rest = rest - slice; - to->interped_gain_hor_slice_bqs[i] = slice; - } - - to->internal_frame_origin_y_bqs_on_sctbl = internal_org_y_bqs; -} - -/* ISP2401 */ -void -ia_css_sc_configure( - const struct ia_css_binary *binary, - u32 internal_frame_origin_x_bqs_on_sctbl, - uint32_t internal_frame_origin_y_bqs_on_sctbl) -{ - const struct ia_css_sc_configuration config = { - internal_frame_origin_x_bqs_on_sctbl, - internal_frame_origin_y_bqs_on_sctbl - }; - - ia_css_configure_sc(binary, &config); -} - /* ------ deprecated(bz675) : from ------ */ /* It looks like @parameter{} (in *.pipe) is used to generate the process/get/set functions, for parameters which should be used in the isp kernels. diff --git a/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.h b/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.h index f1eb568f23d4..d103103c9a87 100644 --- a/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.h +++ b/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc.host.h @@ -32,39 +32,6 @@ ia_css_sc_dump( const struct sh_css_isp_sc_params *sc, unsigned int level); -/* @brief Configure the shading correction. - * @param[out] to Parameters used in the shading correction kernel in the isp. - * @param[in] from Parameters passed from the host. - * @param[in] size Size of the sh_css_isp_sc_isp_config structure. - * - * This function passes the parameters for the shading correction from the host to the isp. - */ -/* ISP2401 */ -void -ia_css_sc_config( - struct sh_css_isp_sc_isp_config *to, - const struct ia_css_sc_configuration *from, - unsigned int size); - -/* @brief Configure the shading correction. - * @param[in] binary The binary, which has the shading correction. - * @param[in] internal_frame_origin_x_bqs_on_sctbl - * X coordinate (in bqs) of the origin of the internal frame on the shading table. - * @param[in] internal_frame_origin_y_bqs_on_sctbl - * Y coordinate (in bqs) of the origin of the internal frame on the shading table. - * - * This function calls the ia_css_configure_sc() function. - * (The ia_css_configure_sc() function is automatically generated in ia_css_isp.configs.c.) - * The ia_css_configure_sc() function calls the ia_css_sc_config() function - * to pass the parameters for the shading correction from the host to the isp. - */ -/* ISP2401 */ -void -ia_css_sc_configure( - const struct ia_css_binary *binary, - u32 internal_frame_origin_x_bqs_on_sctbl, - uint32_t internal_frame_origin_y_bqs_on_sctbl); - /* ------ deprecated(bz675) : from ------ */ void sh_css_get_shading_settings(const struct ia_css_isp_parameters *params, diff --git a/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc_types.h b/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc_types.h index aae534521b7b..1d70f6b9a0ec 100644 --- a/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc_types.h +++ b/drivers/staging/media/atomisp/pci/isp/kernels/sc/sc_1.0/ia_css_sc_types.h @@ -118,18 +118,4 @@ struct ia_css_shading_settings { /* ------ deprecated(bz675) : to ------ */ -/* Shading Correction configuration. - * - * NOTE: The shading table size is larger than or equal to the internal frame size. - */ -/* ISP2401 */ -struct ia_css_sc_configuration { - u32 internal_frame_origin_x_bqs_on_sctbl; /** Origin X (in bqs) of internal frame on shading table. */ - u32 internal_frame_origin_y_bqs_on_sctbl; /** Origin Y (in bqs) of internal frame on shading table. */ - /** NOTE: bqs = size in BQ(Bayer Quad) unit. - 1BQ means {Gr,R,B,Gb}(2x2 pixels). - Horizontal 1 bqs corresponds to horizontal 2 pixels. - Vertical 1 bqs corresponds to vertical 2 pixels. */ -}; - #endif /* __IA_CSS_SC_TYPES_H */ diff --git a/drivers/staging/media/atomisp/pci/sh_css_sp.c b/drivers/staging/media/atomisp/pci/sh_css_sp.c index a73e8ca1e225..13b15a5a33bc 100644 --- a/drivers/staging/media/atomisp/pci/sh_css_sp.c +++ b/drivers/staging/media/atomisp/pci/sh_css_sp.c @@ -827,10 +827,6 @@ configure_isp_from_args( ia_css_output1_configure(binary, &args->out_vf_frame->info); ia_css_copy_output_configure(binary, args->copy_output); ia_css_output0_configure(binary, &args->out_frame[0]->info); -#ifdef ISP2401 - ia_css_sc_configure(binary, pipeline->shading.internal_frame_origin_x_bqs_on_sctbl, - pipeline->shading.internal_frame_origin_y_bqs_on_sctbl); -#endif ia_css_iterator_configure(binary, &args->in_frame->info); ia_css_dvs_configure(binary, &args->out_frame[0]->info); ia_css_output_configure(binary, &args->out_frame[0]->info); From patchwork Sun Oct 17 16:19:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77809 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8v2-006Wav-1o; Sun, 17 Oct 2021 16:21:52 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344150AbhJQQYA (ORCPT + 1 other); Sun, 17 Oct 2021 12:24:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35410 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344141AbhJQQX7 (ORCPT ); Sun, 17 Oct 2021 12:23:59 -0400 Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 63881C06161C; Sun, 17 Oct 2021 09:21:49 -0700 (PDT) Received: by mail-pf1-x433.google.com with SMTP id m26so12844885pff.3; Sun, 17 Oct 2021 09:21:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mBvO4nQ+BAFAe5zffkplq2kww5VGhkJonMlWH4MfSDg=; b=BfD5M6f+Tsx2kmeO0W3YIQ4HRFAwh9ZeFJnN9JTKHYJE9xTioaUSHNW4q+FgNojk/8 yKx0LYs4vT6qKVIwUDKrh35rfUC1I//ODWaRpuJQav1l46r5FIiktvBwPUvXD06nKuGE XVDTc9mKVUkkAUYXnTWdq1kizwiY7kwHMxwlbt0+ao6DxKZBz/FWOY3G/QHtIshwhIbV 5rpLAJB6wWQynqJPuoaCX0401iVhNc2ESpvH++oQZUC2R2BcSRolv+HmKuLLSsaBegRw K1BazLLyK4GTUuXIC4Lz79oQzez+WHGbJNy+J/APf+TmLXkkoqKsjUzBloP/VXM7ovO5 7OAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mBvO4nQ+BAFAe5zffkplq2kww5VGhkJonMlWH4MfSDg=; b=oDE44UZFIxgoHlo1lWJW5EZ4TfLhIZZKQ0zA7bCi2BBEjeqwc3j2upV0HOgtfdjcTD dCW5XWW791maZZ1bQxdkfMrx9eP/2Flo4YnRtwLjof03svnsJvngdIZofE+ATb6GqWnY EYFSBrDQzcz+iv4G5GvD0Hef8sL29dSFPu78Qi10cMMQZcE96ABL8teFDr2W0nsCIm6B A7IbInce1qV3oIJMCbxGrPLYjmZqdA/d+C1SULDmw8YS86lkVURryRa5TM82JUXk97U+ 8iNC8Bju56+/IeH8mNv6rYgL7Q0wAp6EmgCIcds4FmSSfayAdwWsfMPfWDgkWSJWJ0Dt x9MQ== X-Gm-Message-State: AOAM531vlUh8AhuRRVLywzhwq7JgxN9jnOZVkkN2rEjbYdHObitXBwSD JSHmUg+fwwg/rIE1FTSWeN8= X-Google-Smtp-Source: ABdhPJw8E2F2t4ZNkzjK6WFOqT25HaBX7xYgwP30IA34H8YKwVrHS4YxBBZru8LNsWJIdfXA8OiooA== X-Received: by 2002:a65:6187:: with SMTP id c7mr18771665pgv.317.1634487708860; Sun, 17 Oct 2021 09:21:48 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.21.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:21:48 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Aline Santana Cordeiro , Yang Yingliang , Hans Verkuil , Dinghao Liu , Alan , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 10/17] media: atomisp: pci: make fw ver irci_stable_candrpv_0415_20150521_0458 work - 3/5 Date: Mon, 18 Oct 2021 01:19:50 +0900 Message-Id: <20211017161958.44351-11-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no This is one of the patches which partially revert incompatible changes in the current css version for ISP2401 (irci_ecr-master_20150911_0724) back to irci_stable_candrpv_0415_20150521_0458. Some `struct`s are `sizeof()`ed in sh_css_firmware.c file. So, I guess issues will happen if these sizes are changed. Therefore, keep them the same as css version irci_stable_candrpv_0415_20150521_0458 to make atomisp work for firmware made for such css version since we don't have firmware made for the current css version. This patch removes `struct ia_css_isp_parameter xnr3` from `struct ia_css_memory_offsets` as well as its usage [1]. [1] added on updating css version to irci_master_20150701_0213 https://raw.githubusercontent.com/intel/ProductionKernelQuilts/cht-m1stable-2016_ww31/uefi/cht-m1stable/patches/cam-0439-atomisp2-css2401-and-2401_legacy-irci_master_2015070.patch ("atomisp2: css2401 and 2401_legacy-irci_master_20150701_0213") Signed-off-by: Tsuchiya Yuto --- .../css_2401_system/hive/ia_css_isp_params.c | 23 ------------------- .../media/atomisp/pci/ia_css_isp_params.h | 3 --- 2 files changed, 26 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_params.c b/drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_params.c index d9c672d8904e..503ac65da69b 100644 --- a/drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_params.c +++ b/drivers/staging/media/atomisp/pci/css_2401_system/hive/ia_css_isp_params.c @@ -1721,29 +1721,6 @@ ia_css_process_xnr3( "ia_css_process_xnr3() leave:\n"); } } - { - unsigned int size = - stage->binary->info->mem_offsets.offsets.param->vmem.xnr3.size; - - unsigned int offset = - stage->binary->info->mem_offsets.offsets.param->vmem.xnr3.offset; - - if (size) { - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, - "ia_css_process_xnr3() enter:\n"); - - ia_css_xnr3_vmem_encode((struct sh_css_isp_xnr3_vmem_params *) - &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VMEM].address[offset], - ¶ms->xnr3_config, - size); - params->isp_params_changed = true; - params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VMEM] = - true; - - ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, - "ia_css_process_xnr3() leave:\n"); - } - } } /* Code generated by genparam/gencode.c:gen_param_process_table() */ diff --git a/drivers/staging/media/atomisp/pci/ia_css_isp_params.h b/drivers/staging/media/atomisp/pci/ia_css_isp_params.h index 6e3082b39ed6..c2de689877d1 100644 --- a/drivers/staging/media/atomisp/pci/ia_css_isp_params.h +++ b/drivers/staging/media/atomisp/pci/ia_css_isp_params.h @@ -121,9 +121,6 @@ struct ia_css_memory_offsets { struct ia_css_isp_parameter sdis_vertcoef; struct ia_css_isp_parameter sdis2_horicoef; struct ia_css_isp_parameter sdis2_vertcoef; - - /* ISP2401 */ - struct ia_css_isp_parameter xnr3; } vmem; struct { struct ia_css_isp_parameter bh; From patchwork Sun Oct 17 16:19:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77810 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8vB-006WcU-9M; Sun, 17 Oct 2021 16:22:01 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241455AbhJQQYJ (ORCPT + 1 other); Sun, 17 Oct 2021 12:24:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35452 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344149AbhJQQYI (ORCPT ); Sun, 17 Oct 2021 12:24:08 -0400 Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B282FC06161C; Sun, 17 Oct 2021 09:21:58 -0700 (PDT) Received: by mail-pj1-x102f.google.com with SMTP id np13so10590073pjb.4; Sun, 17 Oct 2021 09:21:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=c0uj44wPnm4Y8EmOSQ7wX2rnL2hUC4B+oFq2A5I3XW8=; b=gHW/xdCf4O5ataZNMASb4FqO5OtZLEAfMXLgvb3KfA8G9Wb8SifR2tqO3HnRBGUTMX Bzjn8HBva1HmJ4tI/yZ9fL+P4AfMWcGIkIR8vY16mA/IT+2sLF9dW1/qBhiuzygmnCBO /jP3EMYkNpWT41zbAixcQEtWR8VtlrtVXn4N6VpP3fUDJ2hNvf/9ZK4ulRj7pMfnZlmB qB5p7mlorxxe0Hg0zwnZU3TVM08eYgA7XpYJ7eghRmqPentgtSDygwvXAAKuHp8Wb5Ah mCj3qpyQPPbyfV2Yk5X6uTQ5JYB5jM5XPxavSRhMGL9saZXS6I6FBNyP/VaGKGrL9hZ8 r1LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=c0uj44wPnm4Y8EmOSQ7wX2rnL2hUC4B+oFq2A5I3XW8=; b=KYFiUEENbAkMDCkalKJM49FmnIiLyPfhKqznbq6P40eA6fFiI/wzdNjHuvYZBYE0pC BiIQ2auqdA4RaojAYtt+BS3akaW2LbgJXIkRhVI6lnbKlJlsVg2rHiIl1ntaSc1eFP50 6LaT5feRGom8FRaKH9KX69T31ZShVle1whapwwaKfghkUnPAYxiDeInEnV2gvMXl9y6i bu/2lRqKy1tqZ8zQJFBog3z1tmN9KT0cuJa+ITIYP/OZoQws64p7/UyrzDf7B8ynBgIk vHIbqPoCWDijgpGBMqE/pha0KQudxvBoLw+TpBPYfJqTo81AC8mo5RglXsYtDcTYklRI DbPQ== X-Gm-Message-State: AOAM531ZAjQZsqw+6wsejGjlGQqel3nWdyMnOTPZUTPxwVsEjS3Emt8T ebz9cUSosQBvdAqqzr2hwBA= X-Google-Smtp-Source: ABdhPJzefsfYf8SoqkFHZLPasa2qVn76OAgJBgiN4KjzWniBOMnfJzQkZ/8wAmf5Pbg4IcPBsbMiAQ== X-Received: by 2002:a17:90a:a386:: with SMTP id x6mr27461650pjp.56.1634487718185; Sun, 17 Oct 2021 09:21:58 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.21.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:21:57 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Hans Verkuil , Aline Santana Cordeiro , Yang Yingliang , Dinghao Liu , Alan , Aditya Srivastava , Martiros Shakhzadyan , Kees Cook , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 11/17] media: atomisp: pci: make fw ver irci_stable_candrpv_0415_20150521_0458 work - 4/5 Date: Mon, 18 Oct 2021 01:19:51 +0900 Message-Id: <20211017161958.44351-12-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no This is one of the patches which partially revert incompatible changes in the current css version for ISP2401 (irci_ecr-master_20150911_0724) back to irci_stable_candrpv_0415_20150521_0458. Some `struct`s are `sizeof()`ed in sh_css_firmware.c file. So, I guess issues will happen if these sizes are changed. Therefore, keep them the same as css version irci_stable_candrpv_0415_20150521_0458 to make atomisp work for firmware made for such css version since we don't have firmware made for the current css version. This patch removes polling_mode and subscr_index from `struct virtual_input_system_stream_s` as well as its usage [1]. Note that for subscr_index, only the definition were removed because it was not used anywhere. [1] added on updating css version to irci_master_20150701_0213 https://raw.githubusercontent.com/intel/ProductionKernelQuilts/cht-m1stable-2016_ww31/uefi/cht-m1stable/patches/cam-0439-atomisp2-css2401-and-2401_legacy-irci_master_2015070.patch ("atomisp2: css2401 and 2401_legacy-irci_master_20150701_0213") Signed-off-by: Tsuchiya Yuto --- .../atomisp/pci/isp2401_input_system_global.h | 12 ------------ .../atomisp/pci/runtime/isys/src/virtual_isys.c | 11 ----------- drivers/staging/media/atomisp/pci/sh_css.c | 14 ++------------ 3 files changed, 2 insertions(+), 35 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/isp2401_input_system_global.h b/drivers/staging/media/atomisp/pci/isp2401_input_system_global.h index f38773842646..e3c86069b390 100644 --- a/drivers/staging/media/atomisp/pci/isp2401_input_system_global.h +++ b/drivers/staging/media/atomisp/pci/isp2401_input_system_global.h @@ -44,11 +44,6 @@ typedef enum { N_INPUT_SYSTEM_SOURCE_TYPE } input_system_source_type_t; -typedef enum { - INPUT_SYSTEM_POLL_ON_WAIT_FOR_FRAME, - INPUT_SYSTEM_POLL_ON_CAPTURE_REQUEST, -} input_system_polling_mode_t; - typedef struct input_system_channel_s input_system_channel_t; struct input_system_channel_s { stream2mmio_ID_t stream2mmio_id; @@ -111,9 +106,6 @@ struct isp2401_input_system_cfg_s { input_system_source_type_t mode; - /* ISP2401 */ - input_system_polling_mode_t polling_mode; - bool online; bool raw_packed; s8 linked_isys_stream_id; @@ -165,10 +157,6 @@ struct virtual_input_system_stream_s { u8 online; s8 linked_isys_stream_id; u8 valid; - - /* ISP2401 */ - input_system_polling_mode_t polling_mode; - s32 subscr_index; }; typedef struct virtual_input_system_stream_cfg_s diff --git a/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c b/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c index 82f3c19dc455..8fc7746f8639 100644 --- a/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c +++ b/drivers/staging/media/atomisp/pci/runtime/isys/src/virtual_isys.c @@ -189,17 +189,6 @@ ia_css_isys_error_t ia_css_isys_stream_create( return false; } -#ifdef ISP2401 - /* - * Early polling is required for timestamp accuracy in certain cause. - * The ISYS HW polling is started on - * ia_css_isys_stream_capture_indication() instead of - * ia_css_pipeline_sp_wait_for_isys_stream_N() as isp processing of - * capture takes longer than getting an ISYS frame - */ - isys_stream->polling_mode = isys_stream_descr->polling_mode; - -#endif /* create metadata channel */ if (isys_stream_descr->metadata.enable) { rc = create_input_system_channel(isys_stream_descr, true, diff --git a/drivers/staging/media/atomisp/pci/sh_css.c b/drivers/staging/media/atomisp/pci/sh_css.c index ba25d0da8b81..79003077f390 100644 --- a/drivers/staging/media/atomisp/pci/sh_css.c +++ b/drivers/staging/media/atomisp/pci/sh_css.c @@ -1000,20 +1000,10 @@ static bool sh_css_translate_stream_cfg_to_isys_stream_descr( isys_stream_descr->raw_packed = stream_cfg->pack_raw_pixels; isys_stream_descr->linked_isys_stream_id = (int8_t) stream_cfg->isys_config[isys_stream_idx].linked_isys_stream_id; - /* - * Early polling is required for timestamp accuracy in certain case. - * The ISYS HW polling is started on - * ia_css_isys_stream_capture_indication() instead of - * ia_css_pipeline_sp_wait_for_isys_stream_N() as isp processing of - * capture takes longer than getting an ISYS frame - */ - if (IS_ISP2401) { - isys_stream_descr->polling_mode - = early_polling ? INPUT_SYSTEM_POLL_ON_CAPTURE_REQUEST - : INPUT_SYSTEM_POLL_ON_WAIT_FOR_FRAME; + + if (IS_ISP2401) ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "sh_css_translate_stream_cfg_to_isys_stream_descr() leave:\n"); - } return rc; } From patchwork Sun Oct 17 16:19:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77811 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8vJ-006WcU-Cq; Sun, 17 Oct 2021 16:22:09 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344163AbhJQQYR (ORCPT + 1 other); Sun, 17 Oct 2021 12:24:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35494 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344141AbhJQQYQ (ORCPT ); Sun, 17 Oct 2021 12:24:16 -0400 Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0B705C06161C; Sun, 17 Oct 2021 09:22:07 -0700 (PDT) Received: by mail-pj1-x102f.google.com with SMTP id ls18so10602348pjb.3; Sun, 17 Oct 2021 09:22:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RDW1qPcMGAawLXHmgm47THBGVsh6BGW4tVw5OGbgQzw=; b=RA5UgqeMGTQqGE4ruXYKtsCSlgdXXh/ujrF1Ehe+txdjqx/bbKJ/u+TMmTnjO6V0/v o0zkRTPAh5VPRTLaG6VtYfUkxjkh8ARa5JVdAcyDGZ2Hmgblo7Kn6vlUCDZJSqar/fh1 HTXgwpeGOrueE0iYcrJXtdUEuXxCmHL/Zr0VB/i0ZLVOxfhkrHHdigxjv5hE0iHVd2ah 3Bc0XynN7qWoaEySzBwE8nT7G1ShRyE7ByJFCR1rRU4rOCZ4q/I/4a2cenQyMehEACWQ zISp/jcG2OrCLHgAM8tFazprO/mtqfZ93UL37qB0oqoLrdS0aNPXu+lbgVe2jehiOKil 6l0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RDW1qPcMGAawLXHmgm47THBGVsh6BGW4tVw5OGbgQzw=; b=h8We9g9BZliOqrZximDUBYfappNN2P54xuAd8t2tVTD/4cIuV8wRGnB11l2T4rQO4r 1bcTkHRwO942YZexnBQFkgjuQsG5RPclWhqoaKPMWM9DrvXueY7FgdZhHvKnCnh1UyIX BnPDsYhlLqhlkQhJrOPCZy94E1TZfVg+gC3g4eMthKn5BX9mXmEF7ou2FGn3MxjSCp0Z uvvPTM1v+sPGu6vTmE7fcRuNKqZwnFOTCx8KXfX8MECDjKlfmUaAgEjROrAsa/ICFgp8 //ulfO7NP+/Flm+QTawReDUPS5zjUKy10zJDrcl5YVkf/1hw2xFseUprs8TKM50vllHh oICQ== X-Gm-Message-State: AOAM530FEF9OkhbXViOq5Edx1YyaPpRUpLiF23naNkSxQNWyB1r1jb1b wGgGPMwmmhdicjR0ppJZrBA= X-Google-Smtp-Source: ABdhPJzRqiG5mLXwiAbDEtxsYZI4Qydocucua6z0Dib7/APOAQWQZ0Rt8E7j7OA9PLn3LUQOwBsZMw== X-Received: by 2002:a17:90b:e07:: with SMTP id ge7mr42525003pjb.75.1634487726433; Sun, 17 Oct 2021 09:22:06 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.22.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:22:06 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Hans Verkuil , Aline Santana Cordeiro , Yang Yingliang , Alan , Dinghao Liu , Alexey Dobriyan , Ard Biesheuvel , Masahiro Yamada , "Rafael J. Wysocki" , Deepak R Varma , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 12/17] media: atomisp: pci: make fw ver irci_stable_candrpv_0415_20150521_0458 work - 5/5 Date: Mon, 18 Oct 2021 01:19:52 +0900 Message-Id: <20211017161958.44351-13-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no This is one of the patches which partially revert incompatible changes in the current css version for ISP2401 (irci_ecr-master_20150911_0724) back to irci_stable_candrpv_0415_20150521_0458. Some `struct`s are `sizeof()`ed in sh_css_firmware.c file. So, I guess issues will happen if these sizes are changed. Therefore, keep them the same as css version irci_stable_candrpv_0415_20150521_0458 to make atomisp work for firmware made for such css version since we don't have firmware made for the current css version. This patch removes the unnamed struct `shading` from `struct sh_css_sp_pipeline` as well as its usage [1]. [1] added on updating css version to irci_master_20150701_0213 https://raw.githubusercontent.com/intel/ProductionKernelQuilts/cht-m1stable-2016_ww31/uefi/cht-m1stable/patches/cam-0439-atomisp2-css2401-and-2401_legacy-irci_master_2015070.patch ("atomisp2: css2401 and 2401_legacy-irci_master_20150701_0213") Signed-off-by: Tsuchiya Yuto --- .../media/atomisp/pci/sh_css_internal.h | 8 -------- drivers/staging/media/atomisp/pci/sh_css_sp.c | 18 ------------------ 2 files changed, 26 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/sh_css_internal.h b/drivers/staging/media/atomisp/pci/sh_css_internal.h index 496faa7297a5..92fb7e67610c 100644 --- a/drivers/staging/media/atomisp/pci/sh_css_internal.h +++ b/drivers/staging/media/atomisp/pci/sh_css_internal.h @@ -551,14 +551,6 @@ struct sh_css_sp_pipeline { u32 raw_bit_depth; } raw; } copy; - -/* ISP2401 */ - - /* Parameters passed to Shading Correction kernel. */ - struct { - u32 internal_frame_origin_x_bqs_on_sctbl; /* Origin X (bqs) of internal frame on shading table */ - u32 internal_frame_origin_y_bqs_on_sctbl; /* Origin Y (bqs) of internal frame on shading table */ - } shading; }; /* diff --git a/drivers/staging/media/atomisp/pci/sh_css_sp.c b/drivers/staging/media/atomisp/pci/sh_css_sp.c index 13b15a5a33bc..fa74ac172f94 100644 --- a/drivers/staging/media/atomisp/pci/sh_css_sp.c +++ b/drivers/staging/media/atomisp/pci/sh_css_sp.c @@ -1308,24 +1308,6 @@ sh_css_sp_init_pipeline(struct ia_css_pipeline *me, } #endif - if (IS_ISP2401) { - /* For the shading correction type 1 (the legacy shading table conversion in css is not used), - * the parameters are passed to the isp for the shading table centering. - */ - if (internal_frame_origin_bqs_on_sctbl && - params && params->shading_settings.enable_shading_table_conversion == 0) { - sh_css_sp_group.pipe[thread_id].shading.internal_frame_origin_x_bqs_on_sctbl - = (uint32_t)internal_frame_origin_bqs_on_sctbl->x; - sh_css_sp_group.pipe[thread_id].shading.internal_frame_origin_y_bqs_on_sctbl - = (uint32_t)internal_frame_origin_bqs_on_sctbl->y; - } else { - sh_css_sp_group.pipe[thread_id].shading.internal_frame_origin_x_bqs_on_sctbl = - 0; - sh_css_sp_group.pipe[thread_id].shading.internal_frame_origin_y_bqs_on_sctbl = - 0; - } - } - IA_CSS_LOG("pipe_id %d port_config %08x", pipe_id, sh_css_sp_group.pipe[thread_id].inout_port_config); From patchwork Sun Oct 17 16:19:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77812 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8vU-006WdH-Ua; Sun, 17 Oct 2021 16:22:21 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344167AbhJQQY2 (ORCPT + 1 other); Sun, 17 Oct 2021 12:24:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35542 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344141AbhJQQY2 (ORCPT ); Sun, 17 Oct 2021 12:24:28 -0400 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A71C8C06161C; Sun, 17 Oct 2021 09:22:18 -0700 (PDT) Received: by mail-pf1-x42a.google.com with SMTP id 187so12808759pfc.10; Sun, 17 Oct 2021 09:22:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RCEoG8Wj2tmwZyFp/O9zov7pfmqwLlm4/WHvu/B4JGg=; b=Z1p4eOchvxAp5l+wigxWGKeDDJs8rgMtFBNZtjv2J79ZwStYOkwddbXjidCjEoiOxr PLHcnizsaha8B1bh3YH2i2ceEn5Y2XUQ0JFSxn2/rgtsvb/Vrvipfrxmprh18Qpzl5bk uGdcaHwqzwqVgu7eGFOJCVJSiJ+/AgP8nfMrTjEuh/KfpetwxbxfbkQZjiEICI67kGb8 ZrgQWnGzNRS/xmylnO6Aylzw1F+roEm3lplVBMuQGNwuoH2raAmV4zq/69uALDB6QP11 HLOcFjzPjdd8UIvcf6D6+0/l61vMuh/MCllsWkIFfSMVz54VtTXmmaud9ylCV6YQLEnx kmSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RCEoG8Wj2tmwZyFp/O9zov7pfmqwLlm4/WHvu/B4JGg=; b=XN8QSIeLt4HdeAvN2YJo3Yvt/020leOPD3QiQ2Wwb60fmbZR8jrV6Da8tjFWMny/AX GaB2GF8xa+PmJhhy9KKl5ZF8XKtT4aj6+SApAXM2vq8WKDV8OeW0NMov37cqhij4qNA6 sG9832vneRLxXzNPJt1sfP23kiIGCSB8OG4meSZluCw/G8EmX22TYy3jtMejPFv70ena 1FA6Pkn+qRwcR/4v8B1qLPxvjNx3cW5Twj70q83ZGOf9Ybch5IoHNwCBpJPJF3aq/r8v HmWwzQdEGnNB9zBtMmhMudmwccgq5qL35FCkvuc0nyZZ1nFse8hEv70khQOFU6ZqHgBu WOiw== X-Gm-Message-State: AOAM531gE3ERbAwj2yhTJoLymGnUE2QVwkbrJvB/IQZS3TUAShvGF3Bz 2J9ZB+BT3R4aCWA80azroac= X-Google-Smtp-Source: ABdhPJy8wEdxruvSGQ5pt9lgh0xLrvT4JJBQmL2x3YAjOBh+L38/MudY/thtGQOoNk43Ibawc5PrJw== X-Received: by 2002:a05:6a00:23d6:b0:44d:8426:e2bb with SMTP id g22-20020a056a0023d600b0044d8426e2bbmr19956794pfc.30.1634487738125; Sun, 17 Oct 2021 09:22:18 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.22.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:22:17 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Hans Verkuil , Aline Santana Cordeiro , Yang Yingliang , Alan , Dinghao Liu , "Fabio M. De Francesco" , Jiri Slaby , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 13/17] media: atomisp: pci: release_version is now irci_stable_candrpv_0415_20150521_0458 Date: Mon, 18 Oct 2021 01:19:53 +0900 Message-Id: <20211017161958.44351-14-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no Now that we made atomisp work with firmware version irci_stable_candrpv_0415_20150521_0458 also for ISP2401, the release_version for ISP2401 is not irci_ecr-master_20150911_0724 anymore. So, use the same release_version for both ISP2400 and ISP2401 (i.e., irci_stable_candrpv_0415_20150521_0458). Referred to the following diff to make this patch: - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/diff/drivers/staging/media/atomisp/pci/sh_css_firmware.c?id=3c0538fbad9f1d07d588f631e380256d941e3d3a ("media: atomisp: get rid of most checks for ISP2401 version") changes for file sh_css_firmware.c Signed-off-by: Tsuchiya Yuto --- .../pci/isp/kernels/hdr/ia_css_hdr.host.c | 1 - .../pci/isp/kernels/hdr/ia_css_hdr.host.h | 1 - .../pci/isp/kernels/hdr/ia_css_hdr_param.h | 1 - .../pci/isp/kernels/hdr/ia_css_hdr_types.h | 1 - .../staging/media/atomisp/pci/sh_css_firmware.c | 16 +--------------- 5 files changed, 1 insertion(+), 19 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.c b/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.c index 698550cc2fcc..85a02b6adb52 100644 --- a/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.c +++ b/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.c @@ -1,6 +1,5 @@ // SPDX-License-Identifier: GPL-2.0 /* Release Version: irci_stable_candrpv_0415_20150521_0458 */ -/* Release Version: irci_ecr-master_20150911_0724 */ /* * Support for Intel Camera Imaging ISP subsystem. * Copyright (c) 2015, Intel Corporation. diff --git a/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.h b/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.h index 04599ab590cd..83277b683c47 100644 --- a/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.h +++ b/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr.host.h @@ -1,6 +1,5 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* Release Version: irci_stable_candrpv_0415_20150521_0458 */ -/* Release Version: irci_ecr-master_20150911_0724 */ /* * Support for Intel Camera Imaging ISP subsystem. * Copyright (c) 2015, Intel Corporation. diff --git a/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_param.h b/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_param.h index 97a89fd3cfda..998c6d801756 100644 --- a/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_param.h +++ b/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_param.h @@ -1,6 +1,5 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* Release Version: irci_stable_candrpv_0415_20150521_0458 */ -/* Release Version: irci_ecr-master_20150911_0724 */ /* * Support for Intel Camera Imaging ISP subsystem. * Copyright (c) 2015, Intel Corporation. diff --git a/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_types.h b/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_types.h index 1b4090880201..175c301ee96a 100644 --- a/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_types.h +++ b/drivers/staging/media/atomisp/pci/isp/kernels/hdr/ia_css_hdr_types.h @@ -1,6 +1,5 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* Release Version: irci_stable_candrpv_0415_20150521_0458 */ -/* Release Version: irci_ecr-master_20150911_0724 */ /* * Support for Intel Camera Imaging ISP subsystem. * Copyright (c) 2015, Intel Corporation. diff --git a/drivers/staging/media/atomisp/pci/sh_css_firmware.c b/drivers/staging/media/atomisp/pci/sh_css_firmware.c index e1a16a50e588..94149647b98b 100644 --- a/drivers/staging/media/atomisp/pci/sh_css_firmware.c +++ b/drivers/staging/media/atomisp/pci/sh_css_firmware.c @@ -56,8 +56,7 @@ static struct firmware_header *firmware_header; * which will be replaced with the actual RELEASE_VERSION * during package generation. Please do not modify */ -static const char *isp2400_release_version = STR(irci_stable_candrpv_0415_20150521_0458); -static const char *isp2401_release_version = STR(irci_ecr - master_20150911_0724); +static const char *release_version = STR(irci_stable_candrpv_0415_20150521_0458); #define MAX_FW_REL_VER_NAME 300 static char FW_rel_ver_name[MAX_FW_REL_VER_NAME] = "---"; @@ -190,13 +189,6 @@ sh_css_check_firmware_version(struct device *dev, const char *fw_data) { struct sh_css_fw_bi_file_h *file_header; - const char *release_version; - - if (!IS_ISP2401) - release_version = isp2400_release_version; - else - release_version = isp2401_release_version; - firmware_header = (struct firmware_header *)fw_data; file_header = &firmware_header->file_header; @@ -232,12 +224,6 @@ sh_css_load_firmware(struct device *dev, const char *fw_data, struct ia_css_fw_info *binaries; struct sh_css_fw_bi_file_h *file_header; int ret; - const char *release_version; - - if (!IS_ISP2401) - release_version = isp2400_release_version; - else - release_version = isp2401_release_version; firmware_header = (struct firmware_header *)fw_data; file_header = &firmware_header->file_header; From patchwork Sun Oct 17 16:19:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77813 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8vb-006WdH-FW; Sun, 17 Oct 2021 16:22:27 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344174AbhJQQYf (ORCPT + 1 other); Sun, 17 Oct 2021 12:24:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35574 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241666AbhJQQYf (ORCPT ); Sun, 17 Oct 2021 12:24:35 -0400 Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com [IPv6:2607:f8b0:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 801B9C06161C; Sun, 17 Oct 2021 09:22:25 -0700 (PDT) Received: by mail-pf1-x42e.google.com with SMTP id k26so12832759pfi.5; Sun, 17 Oct 2021 09:22:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=LF01EYAfQlQ9A212iuObd6nlomq8Vqrehwo7xoax5fI=; b=aSGcy++sObLMyyEeXAUtsLHBZrl7tTdxSwa2fHaZLQjMAXE6zl6phOU/hpxOhKlxEM bdwji5vTHDbt/k2Y4DuQwLNlkxc1wz3EA9l410ctVxvgL5ncebWLkvSegSX9id7IfA26 9LqtLU5N12yg/Kf/5ElVvkKDLdm5DUyhpCg1o0qpp/9HMbRtjzzyoyBuAEzX1/Eg8J3z A4fg4tMHLLGWBDtG53U90GuvOJVqM0UFmQD0TgndRFv7h4ivzybgaBr/cpqsguU9OrlT mDCVU5hE86IOtkzJkth/IC4COFuCp92N4ZPVcxB0mVviajV2kh6g9wIHSGECvCKkFSn+ fijA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=LF01EYAfQlQ9A212iuObd6nlomq8Vqrehwo7xoax5fI=; b=tWhqHq+OyBi7EPwnHHEW0UwkadHmPrCIlENmo0ikR6MibE2jVegbCs4sZZrTv4VyEH YietJcM9qLA9BHHIDpjgCcr2bpgg2glRisTMkuMa4tK/TIXw1hKh3Aw3rLXssAHrnxmO kFppFSwujlnEOIH8dzX8KnrFW/WbHnwPRNDNRgKSar7Q0VQAksYyzOnnaFXKr+0Zs9lc SJgXyhfPiYGdKouiFnyjG79Ci3pFfwTIyAgMxVivQfUrtoUORCLJSWgXHc4cTSFJeFJu C4i+Q0eMaQEDZESIXM/g/6Lqc2JdIl0tsVBlMiQTknr6B6+8nCR53KGnpeZjZlaojrO6 0NpQ== X-Gm-Message-State: AOAM531+FUOQnkbq7QIgB/4PoNG3752bz1ZNgSUq4W4EjLf+mF7NDc9d iV6pdSd87sX1qZCbKKCqTxQ= X-Google-Smtp-Source: ABdhPJyb3mjSvz4Zg7cVCazraJbrmriYpk15grovOcf11UCBGUS2HaoBFgw9MvuvF7yyBuIVyyoM5Q== X-Received: by 2002:a05:6a00:731:b0:44c:7c1b:fe6a with SMTP id 17-20020a056a00073100b0044c7c1bfe6amr23728440pfm.44.1634487744957; Sun, 17 Oct 2021 09:22:24 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.22.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:22:24 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Kaixu Xia , Baokun Li , Hans Verkuil , Aditya Srivastava , Aline Santana Cordeiro , Yang Yingliang , Alan , Dinghao Liu , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 14/17] media: atomisp: pci: Remove remaining instance of call to trace_printk Date: Mon, 18 Oct 2021 01:19:54 +0900 Message-Id: <20211017161958.44351-15-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no (patch based on intel-aero kernel patch: https://github.com/intel-aero/meta-intel-aero-base/commit/26fc9fe5030b63bc9dcf0b5f32981948911ca272) Here is the original commit message from the aforementioned patch: From 26fc9fe5030b63bc9dcf0b5f32981948911ca272 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Fri, 7 Jul 2017 14:23:53 -0700 Subject: [PATCH] linux-yocto: Remove remaining instance of call to trace_printk It's not sufficient to leave trace_printk() out of "normal call chains" since the way trace infrastructure works is that it will allocate the trace_printk buffers if the symbol is there (by using a separate section for the function and checking if __start_* and __stop_* symbols are different. Therefore, even if the default value for the param tells the module to use printk(), just the fact that it can be changed to trace_printk() means the initialization code will be called. The trace_printk() was replaced by pr_info() on commit 3d81099c75a6 ("media: atomisp: Replace trace_printk by pr_info") for the upstreamed atomisp, too. However, as the aforementioned commit message says, there is still a remaining instance. This causes the "trace_printk() being used" kernel warning message to still appear on the first driver load. Based on the aforementioned patch, this patch removes the call to ftrace_vprintk(). This removes that kernel warning. In addition to this, this patch also removes the following now unused things: - now empty atomisp_css2_dbg_ftrace_print() - trace_printk option from dbg_func kernel parameter Signed-off-by: Tsuchiya Yuto --- .../staging/media/atomisp/pci/atomisp_compat_css20.c | 10 ---------- drivers/staging/media/atomisp/pci/atomisp_v4l2.c | 4 ++-- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c index 99a632f33d2d..d81d55c6f1fa 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c +++ b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c @@ -159,13 +159,6 @@ static void atomisp_css2_hw_load(hrt_address addr, void *to, uint32_t n) spin_unlock_irqrestore(&mmio_lock, flags); } -static int __printf(1, 0) atomisp_css2_dbg_ftrace_print(const char *fmt, - va_list args) -{ - ftrace_vprintk(fmt, args); - return 0; -} - static int __printf(1, 0) atomisp_vprintk(const char *fmt, va_list args) { vprintk(fmt, args); @@ -860,9 +853,6 @@ static inline int __set_css_print_env(struct atomisp_device *isp, int opt) if (opt == 0) isp->css_env.isp_css_env.print_env.debug_print = NULL; else if (opt == 1) - isp->css_env.isp_css_env.print_env.debug_print = - atomisp_css2_dbg_ftrace_print; - else if (opt == 2) isp->css_env.isp_css_env.print_env.debug_print = atomisp_vprintk; else ret = -EINVAL; diff --git a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c index f5362554638e..720963156d24 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c +++ b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c @@ -87,10 +87,10 @@ module_param(dbg_level, int, 0644); MODULE_PARM_DESC(dbg_level, "debug message level (default:0)"); /* log function switch */ -int dbg_func = 2; +int dbg_func = 1; module_param(dbg_func, int, 0644); MODULE_PARM_DESC(dbg_func, - "log function switch non/trace_printk/printk (default:printk)"); + "log function switch non/printk (default:printk)"); int mipicsi_flag; module_param(mipicsi_flag, int, 0644); From patchwork Sun Oct 17 16:19:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77814 X-Patchwork-Delegate: hdegoede@redhat.com Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8vi-006WdH-9u; Sun, 17 Oct 2021 16:22:34 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344185AbhJQQYm (ORCPT + 1 other); Sun, 17 Oct 2021 12:24:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35604 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238236AbhJQQYl (ORCPT ); Sun, 17 Oct 2021 12:24:41 -0400 Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com [IPv6:2607:f8b0:4864:20::1031]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B86D0C06161C; Sun, 17 Oct 2021 09:22:31 -0700 (PDT) Received: by mail-pj1-x1031.google.com with SMTP id e5-20020a17090a804500b001a116ad95caso5306558pjw.2; Sun, 17 Oct 2021 09:22:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CCRIijo2PoToFaAc7zQPed85KYSfqIFEBvsodoq8LHk=; b=k3T++MKGgxWrWsGO4lMsHWh7oHoeUjVFHlFvkZSM7t4PdX+T1kQ5wKGZxJuaduMa4l SsP4FJyH4YXPDL1CdpVyCm/j5d+KLwoI+KwozrHXSwNAJnWObMwZRVJX8EO6fiDzmmDE mz2ETABVsAUARamqXNmxaHMJkoSKKk/uogeJfh62X7Ldf3LIkx0jpJcs78Df3YJVrr5z 1k2GwIZTNQzLK5lwY4Pauuz0CyVBeiQ09OW7x6kKMvDGWMnG+AFacnKUZgVeghPLPBYF sU/sd+dFKdccwRcdPwHrQ+p7KzB1E7J0fx/XVAphVni6xXswcMyHggNul9Huza5hCtFO JgKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CCRIijo2PoToFaAc7zQPed85KYSfqIFEBvsodoq8LHk=; b=z88hx2doVFbAIyB4QObIEEZw0siK5Y5TwFUXnegpBfA5P44ZSSSUYFm6puOyF5ZcP6 Gc6wQ6giHQEVKXeN0wBtk+POBde9Vi2dyIQISacBpmHvQZKaWbzXvbmwpHdrx8uatYhx 00ufvtQogcrAgkelJ2KVlx/xscyML1OquVjx1YwQT+xiYuLJaBcjc8kjJ1RSu9uYkR8q 2DJDpreNdevuskE61JsmgIJaOmet1S6cLykyvUaFwiXlznD71uRvgWaFPkZGAsMZs3sg RBwuVIeoxAyTX9Z/thaZohjFAxtJrN3tPqvB+++u1BxuRjXeBc0hsMKiHCMUfXaFX2JQ 02sw== X-Gm-Message-State: AOAM530xxTu/ZLTNW5qgv8M4UMmDVtQ8NJqlZpaTtI1y8u+7rw+rIg4z J/48A45+EJwZrskjkTziaFw= X-Google-Smtp-Source: ABdhPJz/AvWxDLcRzfrwl8E2zFEn8+bBE+zHTB4btQnYdKJUFs4l6SxFAlyvHiWQ/jtmkTBZvHUrsg== X-Received: by 2002:a17:90a:af86:: with SMTP id w6mr28405602pjq.8.1634487751185; Sun, 17 Oct 2021 09:22:31 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.22.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:22:30 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Aniket Bhattacharyea , Hans Verkuil , Yang Yingliang , Aline Santana Cordeiro , Dinghao Liu , Alan , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 15/17] media: atomsip: pci: add Microsoft Surface 3 ACPI vars Date: Mon, 18 Oct 2021 01:19:55 +0900 Message-Id: <20211017161958.44351-16-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no Microsoft Surface 3 does not describe CsiPort/CsiLanes in DSDT [1] or EFI, or at least not desctibed in the forms the current atomisp driver expects. This results in the default values (port: 0 lanes: 1) to be used, which does not work. So, define them ourselves in the driver. The user-facing camera is AR0330 (2-lane) and the world-facing camera is OV8835 (4-lane). According to the portconfigs definition in atomisp_csi_lane_config() [atomisp_v4l2.c]: } portconfigs[] = { /* Tangier/Merrifield available lane configurations */ { 0x00, { 4, 1, 0 } }, /* 00000 */ { 0x01, { 3, 1, 0 } }, /* 00001 */ { 0x02, { 2, 1, 0 } }, /* 00010 */ { 0x03, { 1, 1, 0 } }, /* 00011 */ { 0x04, { 2, 1, 2 } }, /* 00100 */ { 0x08, { 3, 1, 1 } }, /* 01000 */ { 0x09, { 2, 1, 1 } }, /* 01001 */ { 0x0a, { 1, 1, 1 } }, /* 01010 */ /* Anniedale/Moorefield only configurations */ { 0x10, { 4, 2, 0 } }, /* 10000 */ { 0x11, { 3, 2, 0 } }, /* 10001 */ { 0x12, { 2, 2, 0 } }, /* 10010 */ { 0x13, { 1, 2, 0 } }, /* 10011 */ { 0x14, { 2, 2, 2 } }, /* 10100 */ { 0x18, { 3, 2, 1 } }, /* 11000 */ { 0x19, { 2, 2, 1 } }, /* 11001 */ { 0x1a, { 1, 2, 1 } }, /* 11010 */ }; 4-lane camera is always connected to the PRIMARY (port1) port [2]. In this case, 2-lane camera can be connected to the only SECONDARY (port0) port. So, add these data accordingly as the gmin_cfg_var ACPI variables for Surface 3. [1] https://github.com/linux-surface/acpidumps/blob/7da48a392b4085c2021952290def1fc28505a643/surface_3/dsdt.dsl#L5879-L6278 [2] Yes, the PRIMARY port is port1 according to atomisp_camera_port [atomisp.h]: enum atomisp_camera_port { ATOMISP_CAMERA_PORT_SECONDARY, ATOMISP_CAMERA_PORT_PRIMARY, ATOMISP_CAMERA_PORT_TERTIARY, ATOMISP_CAMERA_NR_PORTS }; Signed-off-by: Tsuchiya Yuto --- .../media/atomisp/pci/atomisp_gmin_platform.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c index d8c9e31314b2..948eb6f809f5 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c +++ b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c @@ -321,6 +321,18 @@ static struct gmin_cfg_var i8880_vars[] = { {}, }; +/* + * Surface 3 does not describe CsiPort/CsiLanes in both DSDT and EFI. + */ +static struct gmin_cfg_var surface3_vars[] = { + {"APTA0330:00_CsiPort", "0"}, + {"APTA0330:00_CsiLanes", "2"}, + + {"OVTI8835:00_CsiPort", "1"}, + {"OVTI8835:00_CsiLanes", "4"}, + {}, +}; + static const struct dmi_system_id gmin_vars[] = { { .ident = "BYT-T FFD8", @@ -358,6 +370,13 @@ static const struct dmi_system_id gmin_vars[] = { }, .driver_data = i8880_vars, }, + { + .ident = "Surface 3", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "Surface 3"), + }, + .driver_data = surface3_vars, + }, {} }; From patchwork Sun Oct 17 16:19:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77815 X-Patchwork-Delegate: hdegoede@redhat.com Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8vo-006WdH-5E; Sun, 17 Oct 2021 16:22:40 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344192AbhJQQYs (ORCPT + 1 other); Sun, 17 Oct 2021 12:24:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35634 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241666AbhJQQYr (ORCPT ); Sun, 17 Oct 2021 12:24:47 -0400 Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com [IPv6:2607:f8b0:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B53E4C06161C; Sun, 17 Oct 2021 09:22:37 -0700 (PDT) Received: by mail-pf1-x431.google.com with SMTP id 187so12809088pfc.10; Sun, 17 Oct 2021 09:22:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Ue2xdZLYD2ElvWKGNBKjsp5o3GL4BC9cJ58ddnGFYJk=; b=DTBtZkcBC+FwodEBseqZkDv2IZ3sbKBFdm1Q7+Eos3ebPOnZPsHE/YRyw7ita0zXZJ pHU6ODfeg43zL8+iI9oCVL4lvZrgwnSEyoZf3Px2umN9VeNn7FMYEdGIMjGSjCy4FVwU S6F0De+a2X9ZR6XP0q0pe+9mJbZ89kYexXfAwIqUc/LL4y1ASMfiOweD4u/Vz37vRjY7 Oj277c75U5oOA7GKaPtaLV15up3tqdfEN4pZVbJHCgnNbH/8lujknEMSENwoU8Vc86Gk c8iIHQo1EK9wfLM5ZzRI42LkyYKi6Lpcb+pkOJlgoLwK91dnRvQm/LPiWMvrUSNr02sG EJ0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Ue2xdZLYD2ElvWKGNBKjsp5o3GL4BC9cJ58ddnGFYJk=; b=AIg6XTk3BigdewBPRU28FQgXce8hDOG7PXbuw+kLIe+zCUGGokaQXaHPybdKSTQi+R EVZlbSkrhnFvHXaINh2lQri8A+6Jehg38f6+l+rzvVG/P0NaO3aqCRu58SYggfTgrz/B ZtzA9iiQFzr6NQwJyekQTEK+lJhvCbvsOF3I68X0oPhezJmFYZ6qX0r5Thjogpd/5eaM aHL++P3GNukESirIelpOqzVDmGKnxDOJhycu+08csCUkBnPGxi5vH1wJfHuX+P6Xpjnw Z+C8O0Jswo7T4YeCoKhfJnKbuCqUlKKQZjNWTfdnJbMvWqGJuvhiLluuvUr1cdnjbfpb eB7g== X-Gm-Message-State: AOAM532rcco9Sm7umJMXN1A7DsLExauuzMp13IT8yBquE0l8vD2WLAAl sw+blmlGInuTCoPiBB3e1tg= X-Google-Smtp-Source: ABdhPJzrx9izO18sTvA++aSDIJM8D8l1RUgokAgxf2l7bE461156/sxjT5kjbfRo0wYNe3jJusNaJA== X-Received: by 2002:a63:9212:: with SMTP id o18mr6329980pgd.392.1634487757241; Sun, 17 Oct 2021 09:22:37 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.22.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:22:36 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Aniket Bhattacharyea , Aline Santana Cordeiro , Yang Yingliang , Hans Verkuil , Alan , Dinghao Liu , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 16/17] [NOT-FOR-MERGE] media: atomsip: pci: add DMI match for Microsoft Surface 3 with broken DMI (OEMB) Date: Mon, 18 Oct 2021 01:19:56 +0900 Message-Id: <20211017161958.44351-17-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no This commit is added for Surface 3 with broken DMI table. HACK-ish. Not intended for upstreaming. Thus, NOT-FOR-MERGE. But, if someone knows a nicer way to address this, comments are welcome... >8-----------------------------------------------------------------8< On some Microsoft Surface 3, the DMI table gets corrupted for unknown reasons and breaks existing DMI matching used for device-specific quirks. This commit adds the (broken) DMI data into dmi_system_id tables used for quirks so that the driver can enable quirks even on the affected systems. On affected systems, the DMI data will look like this: $ grep . /sys/devices/virtual/dmi/id/{bios_vendor,board_name,board_vendor,\ chassis_vendor,product_name,sys_vendor} /sys/devices/virtual/dmi/id/bios_vendor:American Megatrends Inc. /sys/devices/virtual/dmi/id/board_name:OEMB /sys/devices/virtual/dmi/id/board_vendor:OEMB /sys/devices/virtual/dmi/id/chassis_vendor:OEMB /sys/devices/virtual/dmi/id/product_name:OEMB /sys/devices/virtual/dmi/id/sys_vendor:OEMB Expected: $ grep . /sys/devices/virtual/dmi/id/{bios_vendor,board_name,board_vendor,\ chassis_vendor,product_name,sys_vendor} /sys/devices/virtual/dmi/id/bios_vendor:American Megatrends Inc. /sys/devices/virtual/dmi/id/board_name:Surface 3 /sys/devices/virtual/dmi/id/board_vendor:Microsoft Corporation /sys/devices/virtual/dmi/id/chassis_vendor:Microsoft Corporation /sys/devices/virtual/dmi/id/product_name:Surface 3 /sys/devices/virtual/dmi/id/sys_vendor:Microsoft Corporation Signed-off-by: Tsuchiya Yuto --- .../staging/media/atomisp/pci/atomisp_gmin_platform.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c index 948eb6f809f5..3868d64cbc2b 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c +++ b/drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c @@ -377,6 +377,17 @@ static const struct dmi_system_id gmin_vars[] = { }, .driver_data = surface3_vars, }, + { + .ident = "Surface 3", + .matches = { + /* DMI data for Surface 3 with broken DMI table */ + DMI_MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."), + DMI_MATCH(DMI_BOARD_NAME, "OEMB"), + DMI_MATCH(DMI_PRODUCT_NAME, "OEMB"), + DMI_MATCH(DMI_SYS_VENDOR, "OEMB"), + }, + .driver_data = surface3_vars, + }, {} }; From patchwork Sun Oct 17 16:19:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsuchiya Yuto X-Patchwork-Id: 77816 Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from ) id 1mc8vw-006Wef-G5; Sun, 17 Oct 2021 16:22:48 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241666AbhJQQY4 (ORCPT + 1 other); Sun, 17 Oct 2021 12:24:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35672 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344193AbhJQQYz (ORCPT ); Sun, 17 Oct 2021 12:24:55 -0400 Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B767AC06161C; Sun, 17 Oct 2021 09:22:45 -0700 (PDT) Received: by mail-pj1-x1033.google.com with SMTP id pi19-20020a17090b1e5300b0019fdd3557d3so10839675pjb.5; Sun, 17 Oct 2021 09:22:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=lIXhjnsru+rHchNvOAzzDS2YJa0jp6BsYH6fxJksSb4=; b=XCGWncoB1dFyIxMSafrAUNhtNY7tSgkaYxuCHzguKUQlCQsVkBH5rjrTHXMrEgWvdH 2alYns1Ua2QDr6qndu1aJMVwytJAmXZ204m6X8CbnT5amEPmssrt14cBdfgCXHNzaVS7 WtYvGL/1NHstO0dsu3S74VKB6yDL8cmUmX4Kzm1Vu9TFOcw2dXHR7KFJmhhfN0itzayQ F3wJoFG0kYeuVzTDrg4QFmmrjcXp3uoy8DnifrXiZQoJGQoz8MJEA6CXqgv9XeNDnBzt Bkua9T/etgPdRakCULCbin87XCCsX4m6voJkAqqOh0Y++EO2R5nj/1VahtZ7fAdd6od0 7rlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=lIXhjnsru+rHchNvOAzzDS2YJa0jp6BsYH6fxJksSb4=; b=HhM/9rtC3qI3NRrZ8/e7hdr7aC8cTtIN3jaHS/YzWthQUky5TJmoWEVe132k7EpaCO VkfcgrxAQocMfhP+tGLUOrYMEiKlmIOUyxzkj/18jhh8zP1qUrKDkMb2rwY00B7LE1VF r4/I8KrJc2/TLxu5EBEtbWwcNCoHtn+nJv5FXDADZRbWiS1yh3BsGrQZsUjFH58mSIEI APY2GVHxKyt8L7JgIjBa+fK03tCi1maUbM+0ROpt5kDaRnW7hRdOnCul9mIebZyQEHeX rcwHhcVDCos4u1/AH9QkXDXODJz3NfwJptMaMbQNjhW47tF8F6w2W/VMB+uJAj8vMHPz o/cw== X-Gm-Message-State: AOAM530vp6jcKyCzjvtLAI42Ib2wkz6VSKz8EDqYOu/T7z6ZguoER9Kg 6eDGI0LWXwDZbO8woSZSjhk= X-Google-Smtp-Source: ABdhPJyzjLpYwU/zAbPhyTcd/mmrU+3ADlvsC4sPn8KLWwM5DAo1+NU2WY64bK/JwdNecPK/Ug77UQ== X-Received: by 2002:a17:90b:3cc:: with SMTP id go12mr42019419pjb.127.1634487765267; Sun, 17 Oct 2021 09:22:45 -0700 (PDT) Received: from sbwpb-arch.flets-east.jp ([2400:4052:6980:3800:dba7:2b1f:3f26:a5ec]) by smtp.gmail.com with ESMTPSA id mu11sm5155444pjb.20.2021.10.17.09.22.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Oct 2021 09:22:44 -0700 (PDT) From: Tsuchiya Yuto Cc: Hans de Goede , Patrik Gfeller , Alan , Tsuchiya Yuto , Mauro Carvalho Chehab , Sakari Ailus , Greg Kroah-Hartman , Hans Verkuil , Laurent Pinchart , Arnd Bergmann , Tomi Valkeinen , Yang Yingliang , Aline Santana Cordeiro , Dinghao Liu , linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH 17/17] [NOT-FOR-MERGE] atomisp: Fix up the open v load race Date: Mon, 18 Oct 2021 01:19:57 +0900 Message-Id: <20211017161958.44351-18-kitakar@gmail.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211017161958.44351-1-kitakar@gmail.com> References: <20211017161958.44351-1-kitakar@gmail.com> MIME-Version: 1.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -4.6 (----) X-LSpam-Report: No, score=-4.6 required=5.0 tests=BAYES_00=-1.9,DKIM_ADSP_CUSTOM_MED=0.001,DKIM_SIGNED=0.1,FREEMAIL_FORGED_FROMDOMAIN=0.001,FREEMAIL_FROM=0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,T_DKIM_INVALID=0.01 autolearn=ham autolearn_force=no From: Alan Applied this patch as-is for now to pass firmware load on probe. I haven't looked into this and not written by me anyway. Thus, NOT-FOR-MERGE. At least I can say this patch works just fine. >8-----------------------------------------------------------------8< From: Alan Patch from https://lore.kernel.org/linux-media/151001137594.77201.4306351721772580664.stgit@alans-desktop/raw Here is the original commit message: Subject: [PATCH 1/3] atomisp: Fix up the open v load race From: Alan Date: Mon, 06 Nov 2017 23:36:36 +0000 This isn't the ideal final solution but it stops the main problem for now where an open (often from udev) races the device initialization and we try and load the firmware twice at the same time. This needless to say doesn't usually end well. Signed-off-by: Alan Cox This patch fixes the following "css init failed" error related to firmware load. This issue often occurs when I insmod the module after boot. kern :err : [ 234.658869] atomisp-isp2 0000:00:03.0: css init failed --- bad firmware? kern :err : [ 234.755023] atomisp-isp2 0000:00:03.0: can't change power state from D0 to D3hot (config space inaccessible) kern :err : [ 234.755053] atomisp-isp2 0000:00:03.0: can't change power state from D3cold to D0 (config space inaccessible) kern :err : [ 234.755581] atomisp-isp2 0000:00:03.0: css init failed --- bad firmware? kern :err : [ 234.756146] atomisp-isp2 0000:00:03.0: can't change power state from D3cold to D0 (config space inaccessible) kern :err : [ 234.757115] atomisp-isp2 0000:00:03.0: css init failed --- bad firmware? kern :err : [ 234.757582] atomisp-isp2 0000:00:03.0: can't change power state from D3cold to D0 (config space inaccessible) kern :err : [ 234.758885] atomisp-isp2 0000:00:03.0: css init failed --- bad firmware? kern :err : [ 234.760317] atomisp-isp2 0000:00:03.0: can't change power state from D3cold to D0 (config space inaccessible) kern :err : [ 234.760818] atomisp-isp2 0000:00:03.0: css init failed --- bad firmware? kern :err : [ 234.769102] atomisp-isp2 0000:00:03.0: can't change power state from D3cold to D0 (config space inaccessible) kern :err : [ 234.769527] atomisp-isp2 0000:00:03.0: css init failed --- bad firmware? kern :err : [ 234.771353] atomisp-isp2 0000:00:03.0: can't change power state from D3cold to D0 (config space inaccessible) kern :err : [ 234.771804] atomisp-isp2 0000:00:03.0: css init failed --- bad firmware? kern :err : [ 234.772299] atomisp-isp2 0000:00:03.0: can't change power state from D3cold to D0 (config space inaccessible) kern :err : [ 234.774617] atomisp-isp2 0000:00:03.0: css init failed --- bad firmware? kern :err : [ 234.775090] atomisp-isp2 0000:00:03.0: can't change power state from D3cold to D0 (config space inaccessible) kern :err : [ 234.775607] atomisp-isp2 0000:00:03.0: css init failed --- bad firmware? kern :err : [ 234.776230] atomisp-isp2 0000:00:03.0: can't change power state from D3cold to D0 (config space inaccessible) kern :err : [ 234.779059] atomisp-isp2 0000:00:03.0: css init failed --- bad firmware? kern :err : [ 234.787726] atomisp-isp2 0000:00:03.0: can't change power state from D3cold to D0 (config space inaccessible) kern :err : [ 234.788078] atomisp-isp2 0000:00:03.0: css init failed --- bad firmware? Patch is adapted to v5.15-rc4. Signed-off-by: Tsuchiya Yuto --- drivers/staging/media/atomisp/pci/atomisp_fops.c | 12 ++++++++++++ drivers/staging/media/atomisp/pci/atomisp_internal.h | 5 +++++ drivers/staging/media/atomisp/pci/atomisp_v4l2.c | 6 ++++++ 3 files changed, 23 insertions(+) diff --git a/drivers/staging/media/atomisp/pci/atomisp_fops.c b/drivers/staging/media/atomisp/pci/atomisp_fops.c index f82bf082aa79..62535e0f4429 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_fops.c +++ b/drivers/staging/media/atomisp/pci/atomisp_fops.c @@ -772,6 +772,18 @@ static int atomisp_open(struct file *file) dev_dbg(isp->dev, "open device %s\n", vdev->name); + /* Ensure that if we are still loading we block. Once the loading + is over we can proceed. We can't blindly hold the lock until + that occurs as if the load fails we'll deadlock the unload */ + rt_mutex_lock(&isp->loading); + /* Revisit this with a better check once the code structure is + cleaned up a bit more FIXME */ + if (!isp->ready) { + rt_mutex_unlock(&isp->loading); + return -ENXIO; + } + rt_mutex_unlock(&isp->loading); + rt_mutex_lock(&isp->mutex); acc_node = !strcmp(vdev->name, "ATOMISP ISP ACC"); diff --git a/drivers/staging/media/atomisp/pci/atomisp_internal.h b/drivers/staging/media/atomisp/pci/atomisp_internal.h index c01db10bb735..356a7f1bb757 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_internal.h +++ b/drivers/staging/media/atomisp/pci/atomisp_internal.h @@ -246,6 +246,11 @@ struct atomisp_device { /* Purpose of mutex is to protect and serialize use of isp data * structures and css API calls. */ struct rt_mutex mutex; + /* This mutex ensures that we don't allow an open to succeed while + * the initialization process is incomplete */ + struct rt_mutex loading; + /* Set once the ISP is ready to allow opens */ + bool ready; /* * Serialise streamoff: mutex is dropped during streamoff to * cancel the watchdog queue. MUST be acquired BEFORE diff --git a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c index 720963156d24..e2ccace77a73 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c +++ b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c @@ -1567,6 +1567,7 @@ static int atomisp_pci_probe(struct pci_dev *pdev, const struct pci_device_id *i dev_dbg(&pdev->dev, "atomisp mmio base: %p\n", isp->base); rt_mutex_init(&isp->mutex); + rt_mutex_init(&isp->loading); mutex_init(&isp->streamoff_mutex); spin_lock_init(&isp->lock); @@ -1749,6 +1750,8 @@ static int atomisp_pci_probe(struct pci_dev *pdev, const struct pci_device_id *i pci_write_config_dword(pdev, MRFLD_PCI_CSI_AFE_TRIM_CONTROL, csi_afe_trim); } + rt_mutex_lock(&isp->loading); + err = atomisp_initialize_modules(isp); if (err < 0) { dev_err(&pdev->dev, "atomisp_initialize_modules (%d)\n", err); @@ -1806,6 +1809,8 @@ static int atomisp_pci_probe(struct pci_dev *pdev, const struct pci_device_id *i release_firmware(isp->firmware); isp->firmware = NULL; isp->css_env.isp_css_fw.data = NULL; + isp->ready = true; + rt_mutex_unlock(&isp->loading); atomisp_drvfs_init(isp); @@ -1825,6 +1830,7 @@ static int atomisp_pci_probe(struct pci_dev *pdev, const struct pci_device_id *i register_entities_fail: atomisp_uninitialize_modules(isp); initialize_modules_fail: + rt_mutex_unlock(&isp->loading); cpu_latency_qos_remove_request(&isp->pm_qos); atomisp_msi_irq_uninit(isp); pci_free_irq_vectors(pdev);