Message ID | Y022wjdPGYwyx7lB@debian-BULLSEYE-live-builder-AMD64 |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4ac7:0:0:0:0:0 with SMTP id y7csp1638192wrs; Mon, 17 Oct 2022 13:56:59 -0700 (PDT) X-Google-Smtp-Source: AMsMyM59iCLhGM6IqbZmW9g5p47yWNT1uI3cT4mHUUKQVDobB1is6hCxbJtv4+aAPEqhghPe/B6l X-Received: by 2002:a17:902:7102:b0:17f:3da:f18c with SMTP id a2-20020a170902710200b0017f03daf18cmr13686706pll.24.1666040218757; Mon, 17 Oct 2022 13:56:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666040218; cv=none; d=google.com; s=arc-20160816; b=f3CM61FSNB5KqxvkACLq6b0e8nQxUDBy5TiBR/RUvN+J16mP55+UQChqUSkp3ew0RW SOi9DDd+x99o9XimQMIBdzUZGkCl4J6Fo7ZvKwmeS7LR9Bnlg/P+C4YrzdSpIB+8bR5m zFXDPwYLlbkRRyRuGURoOaoOJEODDXeL/bMknwuVvPbHTX/+lKyxWPrzX045Cv8r3h/g PLmFucv6sXYuw0Eqwaifrt94lGtxBtCjbYcK0xPdR4sUJ1C9Y/WfhSS7qRFjIjylLQF1 2yXKTfHImue65GqKIbaVrHuKNrFm8rGpZfzYifRiCyTM7WVkZkm1kqI9SAHGQERE+Gbe h2kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-disposition:mime-version:message-id :subject:cc:to:from:date:dkim-signature; bh=WZr9najKmWG/dECxlxGwzGd25qSAzxnhU+sWQxBujaY=; b=HFf83KT1zp5beBtr7P7J97cyjV6rDnOpf3kRlGDLkF/MGc/CKDPSu/FjQnQskeOL30 EldJjg7mHyRrRJi83mNze6q/eyQmHyZlDSmy81aD72L7s0pXqZsbK/xSlErr8ybLkjLZ KrY3WYw+TuVZlXFGaBKY5hC7v5vKUu5khDtMNfaZZD3wgRdAc4hfv6vwxxUtFtauN+k2 i6HH6Yhb9XkE1DWeYs/E56fid5PkX6Q4Pvw9SQ9syJZTqS5PienSnn/XrXQkX4syr6Ta 3V/oD+nMR2YEIiwD2QMIfk0UX0K8TvbzCKmoQpYd6GvEzgHBGF29DYIHy7k1v56vAcKj DRYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mailo.com header.s=mailo header.b=H6NkVbpi; 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=fail (p=NONE sp=NONE dis=NONE) header.from=mailo.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 2-20020a630a02000000b0046b2f9bf473si10980026pgk.574.2022.10.17.13.56.45; Mon, 17 Oct 2022 13:56:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@mailo.com header.s=mailo header.b=H6NkVbpi; 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=fail (p=NONE sp=NONE dis=NONE) header.from=mailo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229796AbiJQUxm (ORCPT <rfc822;kernel.ruili@gmail.com> + 99 others); Mon, 17 Oct 2022 16:53:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59296 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229968AbiJQUxh (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 17 Oct 2022 16:53:37 -0400 Received: from msg-1.mailo.com (msg-1.mailo.com [213.182.54.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9F7C56B64B for <linux-kernel@vger.kernel.org>; Mon, 17 Oct 2022 13:53:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mailo.com; s=mailo; t=1666039214; bh=HfNdSL5kR9DFWp4FTByp61UgEXtW1M0rLtjHhZnLTGs=; h=X-EA-Auth:Date:From:To:Cc:Subject:Message-ID:MIME-Version: Content-Type; b=H6NkVbpira67tV8hG+xaoVTrFg0O3WrzSq8XmMaYZu8RN0ygdZxQ6F8pcagAyxWGS rScqw6mAn+ZeBDbbw5mPsBIqpRzeTXyn/DMBFCYdHklfLFp2rqr2I81MlVBQYuBbpA BlTCoAkjp/O12tC2sMGfoRhT3cQgt3kupWF7CZfE= Received: by b-6.in.mailobj.net [192.168.90.16] with ESMTP via [213.182.55.206] Mon, 17 Oct 2022 22:40:14 +0200 (CEST) X-EA-Auth: aMqA8sT9Mr0stGvf8N+2a9dPRbNi3bSVq3A5SqmXIV89OJ3fW2osNJEecR/q0ee9je0djCVTooPMsZbn4LqP4gmD2jtylMJK Date: Tue, 18 Oct 2022 01:40:42 +0530 From: Deepak R Varma <drv@mailo.com> To: outreachy@lists.linux.dev, gregkh@linuxfoundation.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Cc: kumarpraveen@linux.microsoft.com, saurabh.truth@gmail.com Subject: [PATCH] staging: most: dim2: read done_buffers count locally from HDM channel Message-ID: <Y022wjdPGYwyx7lB@debian-BULLSEYE-live-builder-AMD64> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1746969788746668408?= X-GMAIL-MSGID: =?utf-8?q?1746969788746668408?= |
Series |
staging: most: dim2: read done_buffers count locally from HDM channel
|
|
Commit Message
Deepak R Varma
Oct. 17, 2022, 8:10 p.m. UTC
The done_buffer count can be directly read from HDM channel instead of
calling the dim_get_channel_state function. This change also results in
obsoleting the dim_channel_state local structure variable.
Signed-off-by: Deepak R Varma <drv@mailo.com>
---
PLEASE NOTE: I have only built the module on my machine, but have not tested it.
I am not sure how to test this change. I am willing to test it with appropriate
guidance provided I have the necessary hardware.
drivers/staging/most/dim2/dim2.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--
2.30.2
Comments
On Tue, 18 Oct 2022, Deepak R Varma wrote: > The done_buffer count can be directly read from HDM channel instead of > calling the dim_get_channel_state function. This change also results in > obsoleting the dim_channel_state local structure variable. > > Signed-off-by: Deepak R Varma <drv@mailo.com> > --- > > PLEASE NOTE: I have only built the module on my machine, but have not tested it. > I am not sure how to test this change. I am willing to test it with appropriate > guidance provided I have the necessary hardware. For non experts, maybe it would be helpful to explain what motivated you to do this? julia > > drivers/staging/most/dim2/dim2.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c > index ab72e11ac5ab..4c1f27898a29 100644 > --- a/drivers/staging/most/dim2/dim2.c > +++ b/drivers/staging/most/dim2/dim2.c > @@ -259,7 +259,6 @@ static void retrieve_netinfo(struct dim2_hdm *dev, struct mbo *mbo) > static void service_done_flag(struct dim2_hdm *dev, int ch_idx) > { > struct hdm_channel *hdm_ch = dev->hch + ch_idx; > - struct dim_ch_state_t st; > struct list_head *head; > struct mbo *mbo; > int done_buffers; > @@ -271,7 +270,7 @@ static void service_done_flag(struct dim2_hdm *dev, int ch_idx) > > spin_lock_irqsave(&dim_lock, flags); > > - done_buffers = dim_get_channel_state(&hdm_ch->ch, &st)->done_buffers; > + done_buffers = hdm_ch->ch.done_sw_buffers_number; > if (!done_buffers) { > spin_unlock_irqrestore(&dim_lock, flags); > return; > -- > 2.30.2 > > > > >
On Mon, Oct 17, 2022 at 10:56:03PM +0200, Julia Lawall wrote: > > > On Tue, 18 Oct 2022, Deepak R Varma wrote: > > > The done_buffer count can be directly read from HDM channel instead of > > calling the dim_get_channel_state function. This change also results in > > obsoleting the dim_channel_state local structure variable. > > > > Signed-off-by: Deepak R Varma <drv@mailo.com> > > --- > > > > PLEASE NOTE: I have only built the module on my machine, but have not tested it. > > I am not sure how to test this change. I am willing to test it with appropriate > > guidance provided I have the necessary hardware. > > For non experts, maybe it would be helpful to explain what motivated you > to do this? I was actually trying to understand the implementation of this module to determine if I can replace BUG_ON calls by WARN_ON_ONCE. A "ctrl+]" navigation took me to this function and I started wondering about why the function call would be necessary. Hence the change. While reading the Documentation under dim2 directory, I realised this module may need a specialised hardware for testing [automotive???]. Hence I was not sure how to test the same. Are you suggesting I mention this in the patch description (the motivation)? Thank you, ./drv > > julia > > > > > drivers/staging/most/dim2/dim2.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c > > index ab72e11ac5ab..4c1f27898a29 100644 > > --- a/drivers/staging/most/dim2/dim2.c > > +++ b/drivers/staging/most/dim2/dim2.c > > @@ -259,7 +259,6 @@ static void retrieve_netinfo(struct dim2_hdm *dev, struct mbo *mbo) > > static void service_done_flag(struct dim2_hdm *dev, int ch_idx) > > { > > struct hdm_channel *hdm_ch = dev->hch + ch_idx; > > - struct dim_ch_state_t st; > > struct list_head *head; > > struct mbo *mbo; > > int done_buffers; > > @@ -271,7 +270,7 @@ static void service_done_flag(struct dim2_hdm *dev, int ch_idx) > > > > spin_lock_irqsave(&dim_lock, flags); > > > > - done_buffers = dim_get_channel_state(&hdm_ch->ch, &st)->done_buffers; > > + done_buffers = hdm_ch->ch.done_sw_buffers_number; > > if (!done_buffers) { > > spin_unlock_irqrestore(&dim_lock, flags); > > return; > > -- > > 2.30.2 > > > > > > > > > >
On Tue, 18 Oct 2022, Deepak R Varma wrote: > On Mon, Oct 17, 2022 at 10:56:03PM +0200, Julia Lawall wrote: > > > > > > On Tue, 18 Oct 2022, Deepak R Varma wrote: > > > > > The done_buffer count can be directly read from HDM channel instead of > > > calling the dim_get_channel_state function. This change also results in > > > obsoleting the dim_channel_state local structure variable. > > > > > > Signed-off-by: Deepak R Varma <drv@mailo.com> > > > --- > > > > > > PLEASE NOTE: I have only built the module on my machine, but have not tested it. > > > I am not sure how to test this change. I am willing to test it with appropriate > > > guidance provided I have the necessary hardware. > > > > For non experts, maybe it would be helpful to explain what motivated you > > to do this? > > I was actually trying to understand the implementation of this module to > determine if I can replace BUG_ON calls by WARN_ON_ONCE. A "ctrl+]" navigation > took me to this function and I started wondering about why the function call > would be necessary. Hence the change. OK, I agree with you that this story might not be super interesting. But the log message still seems too concise. You have acquired some knowledge about why this changeis correct, but that knowledge is not at all reflected in the log message. Try to explain in more detail why the function call is not necessary. julia > > While reading the Documentation under dim2 directory, I realised this module may > need a specialised hardware for testing [automotive???]. Hence I was not sure > how to test the same. > > Are you suggesting I mention this in the patch description (the motivation)? > > Thank you, > ./drv > > > > > julia > > > > > > > > drivers/staging/most/dim2/dim2.c | 3 +-- > > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > > > diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c > > > index ab72e11ac5ab..4c1f27898a29 100644 > > > --- a/drivers/staging/most/dim2/dim2.c > > > +++ b/drivers/staging/most/dim2/dim2.c > > > @@ -259,7 +259,6 @@ static void retrieve_netinfo(struct dim2_hdm *dev, struct mbo *mbo) > > > static void service_done_flag(struct dim2_hdm *dev, int ch_idx) > > > { > > > struct hdm_channel *hdm_ch = dev->hch + ch_idx; > > > - struct dim_ch_state_t st; > > > struct list_head *head; > > > struct mbo *mbo; > > > int done_buffers; > > > @@ -271,7 +270,7 @@ static void service_done_flag(struct dim2_hdm *dev, int ch_idx) > > > > > > spin_lock_irqsave(&dim_lock, flags); > > > > > > - done_buffers = dim_get_channel_state(&hdm_ch->ch, &st)->done_buffers; > > > + done_buffers = hdm_ch->ch.done_sw_buffers_number; > > > if (!done_buffers) { > > > spin_unlock_irqrestore(&dim_lock, flags); > > > return; > > > -- > > > 2.30.2 > > > > > > > > > > > > > > > > > >
On Tue, Oct 18, 2022 at 07:35:29AM +0200, Julia Lawall wrote: > > > On Tue, 18 Oct 2022, Deepak R Varma wrote: > > > On Mon, Oct 17, 2022 at 10:56:03PM +0200, Julia Lawall wrote: > > > > > > > > > On Tue, 18 Oct 2022, Deepak R Varma wrote: > > > > > > > The done_buffer count can be directly read from HDM channel instead of > > > > calling the dim_get_channel_state function. This change also results in > > > > obsoleting the dim_channel_state local structure variable. > > > > > > > > Signed-off-by: Deepak R Varma <drv@mailo.com> > > > > --- > > > > > > > > PLEASE NOTE: I have only built the module on my machine, but have not tested it. > > > > I am not sure how to test this change. I am willing to test it with appropriate > > > > guidance provided I have the necessary hardware. > > > > > > For non experts, maybe it would be helpful to explain what motivated you > > > to do this? > > > > I was actually trying to understand the implementation of this module to > > determine if I can replace BUG_ON calls by WARN_ON_ONCE. A "ctrl+]" navigation > > took me to this function and I started wondering about why the function call > > would be necessary. Hence the change. > > OK, I agree with you that this story might not be super interesting. > > But the log message still seems too concise. You have acquired some > knowledge about why this changeis correct, but that knowledge is not at > all reflected in the log message. Try to explain in more detail why the > function call is not necessary. Sounds good. I will update the patch log and resubmit the patch. Thank you, ./drv > > julia > > > > > While reading the Documentation under dim2 directory, I realised this module may > > need a specialised hardware for testing [automotive???]. Hence I was not sure > > how to test the same. > > > > Are you suggesting I mention this in the patch description (the motivation)? > > > > Thank you, > > ./drv > > > > > > > > julia > > > > > > > > > > > drivers/staging/most/dim2/dim2.c | 3 +-- > > > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > > > > > diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c > > > > index ab72e11ac5ab..4c1f27898a29 100644 > > > > --- a/drivers/staging/most/dim2/dim2.c > > > > +++ b/drivers/staging/most/dim2/dim2.c > > > > @@ -259,7 +259,6 @@ static void retrieve_netinfo(struct dim2_hdm *dev, struct mbo *mbo) > > > > static void service_done_flag(struct dim2_hdm *dev, int ch_idx) > > > > { > > > > struct hdm_channel *hdm_ch = dev->hch + ch_idx; > > > > - struct dim_ch_state_t st; > > > > struct list_head *head; > > > > struct mbo *mbo; > > > > int done_buffers; > > > > @@ -271,7 +270,7 @@ static void service_done_flag(struct dim2_hdm *dev, int ch_idx) > > > > > > > > spin_lock_irqsave(&dim_lock, flags); > > > > > > > > - done_buffers = dim_get_channel_state(&hdm_ch->ch, &st)->done_buffers; > > > > + done_buffers = hdm_ch->ch.done_sw_buffers_number; > > > > if (!done_buffers) { > > > > spin_unlock_irqrestore(&dim_lock, flags); > > > > return; > > > > -- > > > > 2.30.2 > > > > > > > > > > > > > > > > > > > > > > > > > > >
diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c index ab72e11ac5ab..4c1f27898a29 100644 --- a/drivers/staging/most/dim2/dim2.c +++ b/drivers/staging/most/dim2/dim2.c @@ -259,7 +259,6 @@ static void retrieve_netinfo(struct dim2_hdm *dev, struct mbo *mbo) static void service_done_flag(struct dim2_hdm *dev, int ch_idx) { struct hdm_channel *hdm_ch = dev->hch + ch_idx; - struct dim_ch_state_t st; struct list_head *head; struct mbo *mbo; int done_buffers; @@ -271,7 +270,7 @@ static void service_done_flag(struct dim2_hdm *dev, int ch_idx) spin_lock_irqsave(&dim_lock, flags); - done_buffers = dim_get_channel_state(&hdm_ch->ch, &st)->done_buffers; + done_buffers = hdm_ch->ch.done_sw_buffers_number; if (!done_buffers) { spin_unlock_irqrestore(&dim_lock, flags); return;