All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: Tony Lindgren <tony@atomide.com>
Cc: Arnd Bergmann <arnd@kernel.org>, Suman Anna <s-anna@ti.com>,
	Arnd Bergmann <arnd@arndb.de>, Dave Gerlach <d-gerlach@ti.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	DTML <devicetree@vger.kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Sekhar Nori <nsekhar@ti.com>,
	Kishon Vijay Abraham <kishon@ti.com>,
	Lokesh Vutla <lokeshvutla@ti.com>,
	Aswath Govindraju <a-govindraju@ti.com>
Subject: Re: [PATCH v3 3/5] arm64: dts: ti: Add support for AM642 SoC
Date: Mon, 25 Jan 2021 08:16:42 -0600	[thread overview]
Message-ID: <20210125141642.4yybjnklk3qsqjdy@steersman> (raw)
In-Reply-To: <YArMe2ahPxAjRHsY@atomide.com>

Arnd, Tony,
On 15:00-20210122, Tony Lindgren wrote:
> * Arnd Bergmann <arnd@kernel.org> [210122 11:24]:
> > On Thu, Jan 21, 2021 at 8:57 PM Suman Anna <s-anna@ti.com> wrote:
> > > On 1/21/21 12:39 PM, Nishanth Menon wrote:
> > > > On 12:13-20210121, Suman Anna wrote:
> > > >>
> > > >> Hmm, this is kinda counter-intuitive. When I see a dts node, I am expecting the
> > > >
> > > > What is counter intutive about a -next branch be tested against
> > > > linux-next tree?
> > >
> > > The -next process is well understood. FWIW, you are not sending your PR against
> > > -next branch, but against primarily a -rc1 or -rc2 baseline.
> > >
> > > As a developer, when I am submitting patches, I am making sure that things are
> > > functional against the baseline you use. For example, when I split functionality
> > > into a driver portions and dts portions, I need to make sure both those
> > > individual pieces boot fine and do not cause regressions, even though for the
> > > final functionality, you need both.
> > > >
> > > >
> > > > Now, if you want to launch a product with my -next branch - go ahead, I
> > > > don't intent it for current kernel version - you are on your own.
> > > >
> > > > If there is a real risk of upstream next-breaking - speakup with an
> > > > real example - All I care about is keeping upstream functional and
> > > > useable.
> > >
> > > This is all moot when your own tree doesn't boot properly. In this case, you are
> > > adding MMC nodes, but yet for a boot test, you are saying use linux-next for the
> > > nodes that were added or you need additional driver patches (which is not how
> > > maintainer-level trees are verified).
> > >
> > > Arnd,
> > > Can you please guide us here as to what is expected in general, given that the
> > > pull-request from Nishanth goes through you, and if there is some pre-existing
> > > norms around this?
> > 
> > There are two very different cases to consider, and I'm not sure which one
> > we have here:
> > 
> > - When submitting any changes to a working platform, each patch on
> >   a branch that gets merged needs to work incrementally, e.g. a device
> >   tree change merged through the soc tree must never stop a platform
> >   from booting without a patch that gets merged through another branch
> >   in the same merge window, or vice versa.
> >   As an extension of this, I would actually appreciate if we never do
> >   incompatible binding changes at all. If a driver patch enables a new
> >   binding for already supported hardware, a second patch changes
> >   the dts file to use the new binding, and a third patch removes the
> >   original binding, this could still be done without regressions over
> >   multiple merge windows, but it breaks the assumption that a new
> >   kernel can boot with an old dtb (or vice versa). This second one
> >   is a softer requirement, and we can make exceptions for particularly
> >   good reasons, but please explain those in the patch description and
> >   discuss with upstream maintainers before submitting patches that do
> >   this.
> > 
> > - For a newly added hardware support, having a runtime dependency
> >   on another branch is not a problem, we do that all the time: Adding
> >   a device node for an existing board (or a new board) and the driver
> >   code in another branch is not a regression because each branch
> >   only has incremental changes that improve hardware support, and
> >   it will work as soon as both are merged.
> >   You raised the point about device bindings, which is best addressed
> >   by having one commit that adds the (reviewed) binding document
> >   first, and then have the driver branch and the dts branch based on
> >   the same commit.
> > 
> > I hope that clarifies the case you are interested in, let me know if I
> > missed something for the specific case at hand.
> 
> Hmm and additionally few more mostly obvious things that have helped
> quite a bit:
> 
> - Each commit in each topic branch should compile and boot so git
>   bisect works
> 
> - Each topic branch should be ideally based on -rc1 to leave out
>   dependencies to other branches
> 
> - Aiming for a working and usable -rc1 is worth the effort in case
>   git bisect is needed for any top branches based on it :) Otherwise
>   you'll be wasting the -rc cycle chasing regressions..


Thank you both for your valuable insight and direction. much
appreciated.

*) for every patch that is integrated - I already insist on
bisectability, no warnings with W=2 , dtbs_check .... Including
putting additional tooling[1] in place for folks to use - which goes
and tests sparse, coccinelle etc.. The team has been pretty deligent
in making sure things are clean.
*) We also insist on testing with linux-next to maintain rc1
functionality
*) I also maintain the minimal boot requirements equivalent to kernelci
(example:[2]) for my -next branch as well.

Yes, this series introduces 0 regression, new nodes are being added
and the thing I missed for this window, which is insisting on getting
immutable tags from subsystem maintainers for dt-bindings patches they
have picked up, will be rectified in the future. For this window,
for the last time, I am going to depend a bit on the later merge of
arm-soc.


Thanks for the clarifications, once again.

[1] https://github.com/nmenon/kernel_patch_verify
[2] https://storage.kernelci.org/stable/linux-4.14.y/v4.14.217/arm/omap2plus_defconfig/gcc-8/lab-cip/baseline-beaglebone-black.txt
-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D

WARNING: multiple messages have this Message-ID (diff)
From: Nishanth Menon <nm@ti.com>
To: Tony Lindgren <tony@atomide.com>
Cc: Arnd Bergmann <arnd@kernel.org>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Arnd Bergmann <arnd@arndb.de>, DTML <devicetree@vger.kernel.org>,
	Lokesh Vutla <lokeshvutla@ti.com>,
	Dave Gerlach <d-gerlach@ti.com>, Sekhar Nori <nsekhar@ti.com>,
	Kishon Vijay Abraham <kishon@ti.com>,
	Rob Herring <robh+dt@kernel.org>,
	Aswath Govindraju <a-govindraju@ti.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v3 3/5] arm64: dts: ti: Add support for AM642 SoC
Date: Mon, 25 Jan 2021 08:16:42 -0600	[thread overview]
Message-ID: <20210125141642.4yybjnklk3qsqjdy@steersman> (raw)
In-Reply-To: <YArMe2ahPxAjRHsY@atomide.com>

Arnd, Tony,
On 15:00-20210122, Tony Lindgren wrote:
> * Arnd Bergmann <arnd@kernel.org> [210122 11:24]:
> > On Thu, Jan 21, 2021 at 8:57 PM Suman Anna <s-anna@ti.com> wrote:
> > > On 1/21/21 12:39 PM, Nishanth Menon wrote:
> > > > On 12:13-20210121, Suman Anna wrote:
> > > >>
> > > >> Hmm, this is kinda counter-intuitive. When I see a dts node, I am expecting the
> > > >
> > > > What is counter intutive about a -next branch be tested against
> > > > linux-next tree?
> > >
> > > The -next process is well understood. FWIW, you are not sending your PR against
> > > -next branch, but against primarily a -rc1 or -rc2 baseline.
> > >
> > > As a developer, when I am submitting patches, I am making sure that things are
> > > functional against the baseline you use. For example, when I split functionality
> > > into a driver portions and dts portions, I need to make sure both those
> > > individual pieces boot fine and do not cause regressions, even though for the
> > > final functionality, you need both.
> > > >
> > > >
> > > > Now, if you want to launch a product with my -next branch - go ahead, I
> > > > don't intent it for current kernel version - you are on your own.
> > > >
> > > > If there is a real risk of upstream next-breaking - speakup with an
> > > > real example - All I care about is keeping upstream functional and
> > > > useable.
> > >
> > > This is all moot when your own tree doesn't boot properly. In this case, you are
> > > adding MMC nodes, but yet for a boot test, you are saying use linux-next for the
> > > nodes that were added or you need additional driver patches (which is not how
> > > maintainer-level trees are verified).
> > >
> > > Arnd,
> > > Can you please guide us here as to what is expected in general, given that the
> > > pull-request from Nishanth goes through you, and if there is some pre-existing
> > > norms around this?
> > 
> > There are two very different cases to consider, and I'm not sure which one
> > we have here:
> > 
> > - When submitting any changes to a working platform, each patch on
> >   a branch that gets merged needs to work incrementally, e.g. a device
> >   tree change merged through the soc tree must never stop a platform
> >   from booting without a patch that gets merged through another branch
> >   in the same merge window, or vice versa.
> >   As an extension of this, I would actually appreciate if we never do
> >   incompatible binding changes at all. If a driver patch enables a new
> >   binding for already supported hardware, a second patch changes
> >   the dts file to use the new binding, and a third patch removes the
> >   original binding, this could still be done without regressions over
> >   multiple merge windows, but it breaks the assumption that a new
> >   kernel can boot with an old dtb (or vice versa). This second one
> >   is a softer requirement, and we can make exceptions for particularly
> >   good reasons, but please explain those in the patch description and
> >   discuss with upstream maintainers before submitting patches that do
> >   this.
> > 
> > - For a newly added hardware support, having a runtime dependency
> >   on another branch is not a problem, we do that all the time: Adding
> >   a device node for an existing board (or a new board) and the driver
> >   code in another branch is not a regression because each branch
> >   only has incremental changes that improve hardware support, and
> >   it will work as soon as both are merged.
> >   You raised the point about device bindings, which is best addressed
> >   by having one commit that adds the (reviewed) binding document
> >   first, and then have the driver branch and the dts branch based on
> >   the same commit.
> > 
> > I hope that clarifies the case you are interested in, let me know if I
> > missed something for the specific case at hand.
> 
> Hmm and additionally few more mostly obvious things that have helped
> quite a bit:
> 
> - Each commit in each topic branch should compile and boot so git
>   bisect works
> 
> - Each topic branch should be ideally based on -rc1 to leave out
>   dependencies to other branches
> 
> - Aiming for a working and usable -rc1 is worth the effort in case
>   git bisect is needed for any top branches based on it :) Otherwise
>   you'll be wasting the -rc cycle chasing regressions..


Thank you both for your valuable insight and direction. much
appreciated.

*) for every patch that is integrated - I already insist on
bisectability, no warnings with W=2 , dtbs_check .... Including
putting additional tooling[1] in place for folks to use - which goes
and tests sparse, coccinelle etc.. The team has been pretty deligent
in making sure things are clean.
*) We also insist on testing with linux-next to maintain rc1
functionality
*) I also maintain the minimal boot requirements equivalent to kernelci
(example:[2]) for my -next branch as well.

Yes, this series introduces 0 regression, new nodes are being added
and the thing I missed for this window, which is insisting on getting
immutable tags from subsystem maintainers for dt-bindings patches they
have picked up, will be rectified in the future. For this window,
for the last time, I am going to depend a bit on the later merge of
arm-soc.


Thanks for the clarifications, once again.

[1] https://github.com/nmenon/kernel_patch_verify
[2] https://storage.kernelci.org/stable/linux-4.14.y/v4.14.217/arm/omap2plus_defconfig/gcc-8/lab-cip/baseline-beaglebone-black.txt
-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-01-25 14:20 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-20 20:25 [PATCH v3 0/5] arm64: Initial support for Texas Instruments AM642 Platform Dave Gerlach
2021-01-20 20:25 ` Dave Gerlach
2021-01-20 20:25 ` [PATCH v3 1/5] dt-bindings: arm: ti: Add bindings for AM642 SoC Dave Gerlach
2021-01-20 20:25   ` Dave Gerlach
2021-01-20 20:25 ` [PATCH v3 2/5] dt-bindings: pinctrl: k3: Introduce pinmux definitions for AM64 Dave Gerlach
2021-01-20 20:25   ` Dave Gerlach
2021-01-20 20:50   ` Suman Anna
2021-01-20 20:50     ` Suman Anna
2021-01-25 14:39   ` Nishanth Menon
2021-01-25 14:39     ` Nishanth Menon
2021-02-09  2:34   ` Rob Herring
2021-02-09  2:34     ` Rob Herring
2021-01-20 20:25 ` [PATCH v3 3/5] arm64: dts: ti: Add support for AM642 SoC Dave Gerlach
2021-01-20 20:25   ` Dave Gerlach
2021-01-20 22:04   ` Nishanth Menon
2021-01-20 22:04     ` Nishanth Menon
2021-01-21 17:25   ` Suman Anna
2021-01-21 17:25     ` Suman Anna
2021-01-21 17:46     ` Nishanth Menon
2021-01-21 17:46       ` Nishanth Menon
2021-01-21 18:13       ` Suman Anna
2021-01-21 18:13         ` Suman Anna
2021-01-21 18:39         ` Nishanth Menon
2021-01-21 18:39           ` Nishanth Menon
2021-01-21 19:57           ` Suman Anna
2021-01-21 19:57             ` Suman Anna
2021-01-21 20:13             ` Nishanth Menon
2021-01-21 20:13               ` Nishanth Menon
2021-01-21 20:42               ` Suman Anna
2021-01-21 20:42                 ` Suman Anna
2021-01-21 21:18                 ` Nishanth Menon
2021-01-21 21:18                   ` Nishanth Menon
2021-01-21 22:57                   ` Suman Anna
2021-01-21 22:57                     ` Suman Anna
2021-01-22 11:23             ` Arnd Bergmann
2021-01-22 11:23               ` Arnd Bergmann
2021-01-22 13:00               ` Tony Lindgren
2021-01-22 13:00                 ` Tony Lindgren
2021-01-25 14:16                 ` Nishanth Menon [this message]
2021-01-25 14:16                   ` Nishanth Menon
2021-01-25 22:48   ` Suman Anna
2021-01-25 22:48     ` Suman Anna
2021-01-25 23:02     ` Suman Anna
2021-01-25 23:02       ` Suman Anna
2021-01-20 20:25 ` [PATCH v3 4/5] arm64: dts: ti: k3-am64-main: Enable DMA support Dave Gerlach
2021-01-20 20:25   ` Dave Gerlach
2021-01-20 20:25 ` [PATCH v3 5/5] arm64: dts: ti: Add support for AM642 EVM Dave Gerlach
2021-01-20 20:25   ` Dave Gerlach
2021-01-25 16:44   ` Suman Anna
2021-01-25 16:44     ` Suman Anna

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210125141642.4yybjnklk3qsqjdy@steersman \
    --to=nm@ti.com \
    --cc=a-govindraju@ti.com \
    --cc=arnd@arndb.de \
    --cc=arnd@kernel.org \
    --cc=d-gerlach@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=lokeshvutla@ti.com \
    --cc=nsekhar@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=s-anna@ti.com \
    --cc=tony@atomide.com \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.