Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp8358983rwb; Wed, 23 Nov 2022 20:52:10 -0800 (PST) X-Google-Smtp-Source: AA0mqf4s3qJZGC/RhEde+btZUbwr7XxTFSKwLNy4oNh4uwZ/0eOEhoBBsWP6fsHtN+U0WLaGRZHI X-Received: by 2002:a17:906:4684:b0:7ad:a2ef:c62 with SMTP id a4-20020a170906468400b007ada2ef0c62mr26355234ejr.126.1669265530509; Wed, 23 Nov 2022 20:52:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669265530; cv=none; d=google.com; s=arc-20160816; b=YIIuea9vKH8w3JYqf8bwCzFkc2xgOpb9iPYroNl+aS+4rzYBFavZQufh1Wexqlue7s x2qzpx8NsMMEXbdbP1UtqH32sBvVjlC+cwFN4DtfRYSa6rkNzItXQJB2gtc5Q3TOCv+F nJAdyQNMDsrsYQLvrWM/tR2bgATRZeURV4JERd7Ek1ULOjfZDlUzaJP1Cy2Lqt39FaU8 oczN1yXoZjQsIgaGTqlEFezac4/OEwqABrfRbW2OoGbUI2Wn6jfu6tF7TUiYKFKWpzBM AUAoYK7HHd13AX+uXD3L3GxuiYd0ksuy+qIzIhJiYbnmtlMUd6EFqMljQGp2U2p0nD4p B90w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=LwRmCRmi3ZvryaL+N9uJcgI/0W3kQm4cItEnoQ4LDrM=; b=RcvRmrM4fMIcvD2GzdGqcYY8I1+spzXbJuatmDd3a3dUk/CdHYaa3KX9t1NYLOhQ3f C1uqx3g1XztrNBfjKCTE5ZmqLDIxtI9SSCQe0Y0hh3J1GTa9FVmYcyejsdB/RopfBDTr hcr+WyYVfV/kFCf93CXxjd36AGfrqoKdmv+9IbNmi6D2YrRvOuf5g8FwC/RdLusXC+hK dzLZnbdxL+jBMm6jewOj+H6tM5w3HUwifuuwDFx65OWr4PBHAvP0JMEgZqs78ZBiQmcu 1WzMn8sOguI4kqKVR4d8keGrB8qJVpXfbbrMLwV61ShGAtLJDIiYf7g2yzZAnuDA/pFJ Czbw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=fOxfeB4E; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 25-20020a508e59000000b00468cd2ab847si142663edx.172.2022.11.23.20.51.49; Wed, 23 Nov 2022 20:52:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=fOxfeB4E; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229685AbiKXDaq (ORCPT + 88 others); Wed, 23 Nov 2022 22:30:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229487AbiKXDao (ORCPT ); Wed, 23 Nov 2022 22:30:44 -0500 Received: from mail-vs1-xe30.google.com (mail-vs1-xe30.google.com [IPv6:2607:f8b0:4864:20::e30]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 38A1B2315A; Wed, 23 Nov 2022 19:30:43 -0800 (PST) Received: by mail-vs1-xe30.google.com with SMTP id q127so419721vsa.7; Wed, 23 Nov 2022 19:30:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=LwRmCRmi3ZvryaL+N9uJcgI/0W3kQm4cItEnoQ4LDrM=; b=fOxfeB4ETJvm6TfqH7ytBBCiCu2nHKDm3LqQSsXgcUKYifhoAvLPO0TD5AsfYDqX0N 3WR0AsxvALUQ9sfH5K3yWb2cEKWA7cwl/rBBDub0gdWzAf7Qc0I40Qh+DGLGIu8MY1J5 NMHpic69PCqfS0yrlw9VB2N3pCl9EJlgEk1JBq841Cjh/M4r1UJfKyGYVPOdz4mOPYH8 2/rq7Io/ANn2Hj9Z6oDn9H0ZaN1uP+2ZY4rCbx2GeR/j2FSsG3AEwT686TEQXicNVCe5 UMeZv6kei9qDHlLWX8M32eKLOv4uwmA+1iyChMlVjYglrl0jBHRfatr5JzN2T6wLbtaW yStA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=LwRmCRmi3ZvryaL+N9uJcgI/0W3kQm4cItEnoQ4LDrM=; b=4WJQsZLA34Hcbj2jdkKbTwfd8IcZyuTQwcLqaqX948eY1l7+0sBovfak0ejelzsEVn ystt+qegF3pu4gOboPcGeAKZ2qUphXImf+BLihLEG7Zxk8i0rz3lYl4lPoB9QzYTc7V6 mq0dRxG4YF4ypLcmKs8I/utEm31rcGHWlaSH68geT3r2rEgGhPOQESC88LLumzZN1GqH 3mSKAgBvbyfW9YU5ChYggDlma9wCfRx8SLw9TO7Gf/zuwQnPfMhu+P8/j8c1lUVjqO3v wPdlKKvqrK7PfT4au3ykLMzcd5aZsA4jjgnxjH8nCcvRWQ2BnE+oM7a/+dH6ElQYImbJ UwHg== X-Gm-Message-State: ANoB5plU6HkAT21CISDmX2HrMpdU+1J8uCvT0Tn/lDIZUGx2+GGbwZ1l TWQJ+WCC+hManiMNkhPIMP/ort36VU5iSANXB98FUKI75GE= X-Received: by 2002:a05:6102:1e:b0:3ac:3e44:e649 with SMTP id j30-20020a056102001e00b003ac3e44e649mr7818557vsp.63.1669260642313; Wed, 23 Nov 2022 19:30:42 -0800 (PST) MIME-Version: 1.0 References: <20221122085724.3245078-1-milkfafa@gmail.com> <20221122085724.3245078-8-milkfafa@gmail.com> <78cded0f-c75d-819f-0aff-7e4f3b264f64@collabora.com> In-Reply-To: <78cded0f-c75d-819f-0aff-7e4f3b264f64@collabora.com> From: Kun-Fa Lin Date: Thu, 24 Nov 2022 11:30:31 +0800 Message-ID: Subject: Re: [PATCH v7 7/7] media: nuvoton: Add driver for NPCM video capture and encode engine To: Andrzej Pietrasiewicz Cc: mchehab@kernel.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, openbmc@lists.ozlabs.org, avifishman70@gmail.com, tmaimon77@gmail.com, tali.perry1@gmail.com, kwliu@nuvoton.com, kflin@nuvoton.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Andrzej, Thanks for the review. > > +#define GPLLST 0x48 > > +#define GPLLST_PLLOTDIV1 GENMASK(2, 0) > > +#define GPLLST_PLLOTDIV2 GENMASK(5, 3) > > +#define GPLLST_GPLLFBDV109 GENMASK(7, 6) > > + > > There's a bunch of register definitions. Given you're adding a dedicated > directory for nuvoton maybe it makes sense to factor these definitions > out to a local header file? Agreed. I'll move these definitions out to a local header file in the next patch. > > + for (i = 0; i < video->num_buffers; i++) { > > + head = &video->list[i]; > > + list_for_each_safe(pos, nx, head) { > > + tmp = list_entry(pos, struct rect_list, list); > > If we ever get here isn't pos guaranteed to be non-NULL? > And so consequently is tmp. > > > + if (tmp) { > > Then this condition is always true? Indeed the condition is always true, will remove the condition check. > > + video->rect = kcalloc(*num_buffers, sizeof(*video->rect), GFP_KERNEL); > > In practice "small allocations never fail", but what if kcalloc fails some day? > > > + > > + if (video->list) { > > + npcm_video_free_diff_table(video); > > + kfree(video->list); > > + video->list = NULL; > > + } > > + > > + video->list = kzalloc(sizeof(*video->list) * *num_buffers, GFP_KERNEL); > > Or kzalloc? Will add error handling. > In this function there are 3 similar error recovery paths. Can nice "goto"s > be introduced to handle them? Will do it for sure. Regards, Marvin