All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
To: Christoph Hellwig <hch@lst.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org,
	iommu@lists.linux-foundation.org
Subject: Re: [PATCH 4/6] MIPS: refactor the maybe coherent DMA indicators
Date: Tue, 9 Feb 2021 14:12:37 +0100	[thread overview]
Message-ID: <20210209131237.GB11915@alpha.franken.de> (raw)
In-Reply-To: <20210208145024.3320420-5-hch@lst.de>

On Mon, Feb 08, 2021 at 03:50:22PM +0100, Christoph Hellwig wrote:
> Replace the global coherentio enum, and the hw_coherentio (fake) boolean
> variables with a single boolean dma_default_coherent flag.  Only the
> malta setup code needs two additional local boolean variables to
> preserved the command line overrides.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  arch/mips/alchemy/common/setup.c      |  3 +--
>  arch/mips/include/asm/dma-coherence.h | 24 ++++--------------------
>  arch/mips/kernel/setup.c              |  8 +++-----
>  arch/mips/mm/c-r4k.c                  |  8 ++------
>  arch/mips/mti-malta/malta-setup.c     | 24 ++++++++++++++----------
>  arch/mips/pci/pci-alchemy.c           |  5 ++---
>  6 files changed, 26 insertions(+), 46 deletions(-)
> 
> diff --git a/arch/mips/alchemy/common/setup.c b/arch/mips/alchemy/common/setup.c
> index c2da68e7984450..39e5b9cd882b10 100644
> --- a/arch/mips/alchemy/common/setup.c
> +++ b/arch/mips/alchemy/common/setup.c
> @@ -65,8 +65,7 @@ void __init plat_mem_setup(void)
>  		/* Clear to obtain best system bus performance */
>  		clear_c0_config(1 << 19); /* Clear Config[OD] */
>  
> -	coherentio = alchemy_dma_coherent() ?
> -		IO_COHERENCE_ENABLED : IO_COHERENCE_DISABLED;
> +	dma_default_coherent = alchemy_dma_coherent();
>  
>  	board_setup();	/* board specific setup */
>  
> diff --git a/arch/mips/include/asm/dma-coherence.h b/arch/mips/include/asm/dma-coherence.h
> index 5eaa1fcc878a88..846c5ade30d12d 100644
> --- a/arch/mips/include/asm/dma-coherence.h
> +++ b/arch/mips/include/asm/dma-coherence.h
> @@ -9,30 +9,14 @@
>  #ifndef __ASM_DMA_COHERENCE_H
>  #define __ASM_DMA_COHERENCE_H
>  
> -enum coherent_io_user_state {
> -	IO_COHERENCE_DEFAULT,
> -	IO_COHERENCE_ENABLED,
> -	IO_COHERENCE_DISABLED,
> -};
> -
> -#if defined(CONFIG_DMA_PERDEV_COHERENT)
> -/* Don't provide (hw_)coherentio to avoid misuse */
> -#elif defined(CONFIG_DMA_MAYBE_COHERENT)
> -extern enum coherent_io_user_state coherentio;
> -extern int hw_coherentio;
> -
> +#ifdef CONFIG_DMA_MAYBE_COHERENT
> +extern bool dma_default_coherent;
>  static inline bool dev_is_dma_coherent(struct device *dev)
>  {
> -	return coherentio == IO_COHERENCE_ENABLED ||
> -		(coherentio == IO_COHERENCE_DEFAULT && hw_coherentio);
> +	return dma_default_coherent;

this breaks overriding of coherentio via command line. plat_mem_setup/
plat_setup_iocoherency is called before earlyparams are handled. So
changing coherentio after that doesn't have any effect.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]

  reply	other threads:[~2021-02-09 13:13 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-08 14:50 MIPS noncoherent DMA cleanups Christoph Hellwig
2021-02-08 14:50 ` Christoph Hellwig
2021-02-08 14:50 ` [PATCH 1/6] MIPS/malta: simplify plat_setup_iocoherency Christoph Hellwig
2021-02-08 14:50   ` Christoph Hellwig
2021-02-08 14:50 ` [PATCH 2/6] MIPS/alchemy: factor out the DMA coherent setup Christoph Hellwig
2021-02-08 14:50   ` Christoph Hellwig
2021-02-08 14:50 ` [PATCH 3/6] MIPS: move the {no, }nocoherentio options to the malta setup code Christoph Hellwig
2021-02-08 14:50   ` [PATCH 3/6] MIPS: move the {no,}nocoherentio " Christoph Hellwig
2021-02-08 14:50 ` [PATCH 4/6] MIPS: refactor the maybe coherent DMA indicators Christoph Hellwig
2021-02-08 14:50   ` Christoph Hellwig
2021-02-09 13:12   ` Thomas Bogendoerfer [this message]
2021-02-10  8:57     ` Christoph Hellwig
2021-02-10  8:57       ` Christoph Hellwig
2021-02-08 14:50 ` [PATCH 5/6] driver core: lift dma_default_coherent into common code Christoph Hellwig
2021-02-08 14:50   ` Christoph Hellwig
2021-02-08 15:00   ` Greg Kroah-Hartman
2021-02-08 15:00     ` Greg Kroah-Hartman
2021-02-08 15:57   ` Maciej W. Rozycki
2021-02-08 15:57     ` Maciej W. Rozycki
2021-02-08 16:10     ` Christoph Hellwig
2021-02-08 16:10       ` Christoph Hellwig
2021-02-09 11:23       ` Maciej W. Rozycki
2021-02-09 11:23         ` Maciej W. Rozycki
2021-02-15 13:13         ` Maciej W. Rozycki
2021-02-15 13:13           ` Maciej W. Rozycki
2021-02-21  3:32           ` Maciej W. Rozycki
2021-02-21  3:32             ` Maciej W. Rozycki
2021-02-22  7:59             ` Christoph Hellwig
2021-02-22  7:59               ` Christoph Hellwig
2021-02-22 10:42               ` Maciej W. Rozycki
2021-02-22 10:42                 ` Maciej W. Rozycki
2021-02-27 18:33                 ` Maciej W. Rozycki
2021-02-27 18:33                   ` Maciej W. Rozycki
2021-02-09 13:06   ` Thomas Bogendoerfer
2021-02-09 13:06     ` Thomas Bogendoerfer
2021-02-08 14:50 ` [PATCH 6/6] MIPS: remove CONFIG_DMA_PERDEV_COHERENT Christoph Hellwig
2021-02-08 14:50   ` Christoph Hellwig
2021-02-09  1:36   ` Huacai Chen

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=20210209131237.GB11915@alpha.franken.de \
    --to=tsbogend@alpha.franken.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@lst.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    /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.