All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Mans Rullgard <mans@mansr.com>, Tejun Heo <tj@kernel.org>,
	linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/3] ata: sata_dwc_460ex: get rid of global data
Date: Thu, 17 Dec 2015 17:06:05 +0200	[thread overview]
Message-ID: <1450364765.30729.139.camel@linux.intel.com> (raw)
In-Reply-To: <1450221935-6034-3-git-send-email-mans@mansr.com>

On Tue, 2015-12-15 at 23:25 +0000, Mans Rullgard wrote:
> This moves all global data into the driver private struct, thus
> permitting multiple devices of this type to be used.
> 

Nice!

Btw, last time Linus complained about new warnings. Most of them I have
fixed when moved to external DMA driver. Leftovers IIRC are related to
address space. Are you going to fix them? Otherwise it might be a
headache for him again with strong wording to our address I suppose.

> Signed-off-by: Mans Rullgard <mans@mansr.com>
> ---
>  drivers/ata/sata_dwc_460ex.c | 80 ++++++++++++++++++++------------
> ------------
>  1 file changed, 36 insertions(+), 44 deletions(-)
> 
> diff --git a/drivers/ata/sata_dwc_460ex.c
> b/drivers/ata/sata_dwc_460ex.c
> index d07aae1..919f870 100644
> --- a/drivers/ata/sata_dwc_460ex.c
> +++ b/drivers/ata/sata_dwc_460ex.c
> @@ -146,6 +146,8 @@ struct sata_dwc_device {
>  	struct ata_host		*host;
>  	u8 __iomem		*reg_base;
>  	struct sata_dwc_regs	*sata_dwc_regs;	/* DW
> Synopsys SATA specific */
> +	u32			sactive_issued;
> +	u32			sactive_queued;
>  	struct phy		*phy;
>  #ifdef CONFIG_SATA_DWC_OLD_DMA
>  	struct dw_dma_chip	*dma;
> @@ -190,14 +192,6 @@ enum {
>  	SATA_DWC_DMA_PENDING_RX		= 2,
>  };
>  
> -struct sata_dwc_host_priv {
> -	void	__iomem	 *scr_addr_sstatus;
> -	u32	sata_dwc_sactive_issued ;
> -	u32	sata_dwc_sactive_queued ;
> -};
> -
> -static struct sata_dwc_host_priv host_pvt;
> -
>  /*
>   * Prototypes
>   */
> @@ -448,21 +442,22 @@ static int sata_dwc_scr_write(struct ata_link
> *link, unsigned int scr, u32 val)
>  	return 0;
>  }
>  
> -static u32 core_scr_read(unsigned int scr)
> +static u32 core_scr_read(struct sata_dwc_device *hsdev, unsigned int
> scr)
>  {
> -	return in_le32(host_pvt.scr_addr_sstatus + (scr * 4));
> +	return in_le32(hsdev->reg_base + SATA_DWC_SCR_OFFSET + (scr
> * 4));
>  }
>  
> -static void core_scr_write(unsigned int scr, u32 val)
> +static void core_scr_write(struct sata_dwc_device *hsdev, unsigned
> int scr,
> +			   u32 val)
>  {
> -	out_le32(host_pvt.scr_addr_sstatus + (scr * 4), val);
> +	out_le32(hsdev->reg_base + SATA_DWC_SCR_OFFSET + (scr * 4),
> val);
>  }
>  
> -static void clear_serror(void)
> +static void clear_serror(struct sata_dwc_device *hsdev)
>  {
>  	u32 val;
> -	val = core_scr_read(SCR_ERROR);
> -	core_scr_write(SCR_ERROR, val);
> +	val = core_scr_read(hsdev, SCR_ERROR);
> +	core_scr_write(hsdev, SCR_ERROR, val);
>  }
>  
>  static void clear_interrupt_bit(struct sata_dwc_device *hsdev, u32
> bit)
> @@ -489,7 +484,7 @@ static void sata_dwc_error_intr(struct ata_port
> *ap,
>  
>  	ata_ehi_clear_desc(ehi);
>  
> -	serror = core_scr_read(SCR_ERROR);
> +	serror = core_scr_read(hsdev, SCR_ERROR);
>  	status = ap->ops->sff_check_status(ap);
>  
>  	tag = ap->link.active_tag;
> @@ -500,7 +495,7 @@ static void sata_dwc_error_intr(struct ata_port
> *ap,
>  		hsdevp->dma_pending[tag], hsdevp->cmd_issued[tag]);
>  
>  	/* Clear error register and interrupt bit */
> -	clear_serror();
> +	clear_serror(hsdev);
>  	clear_interrupt_bit(hsdev, SATA_DWC_INTPR_ERR);
>  
>  	/* This is the only error happening now.  TODO check for
> exact error */
> @@ -539,7 +534,7 @@ static irqreturn_t sata_dwc_isr(int irq, void
> *dev_instance)
>  	int handled, num_processed, port = 0;
>  	uint intpr, sactive, sactive2, tag_mask;
>  	struct sata_dwc_device_port *hsdevp;
> -	host_pvt.sata_dwc_sactive_issued = 0;
> +	hsdev->sactive_issued = 0;
>  
>  	spin_lock_irqsave(&host->lock, flags);
>  
> @@ -568,7 +563,7 @@ static irqreturn_t sata_dwc_isr(int irq, void
> *dev_instance)
>  		if (hsdevp->cmd_issued[tag] !=
> SATA_DWC_CMD_ISSUED_PEND)
>  			dev_warn(ap->dev, "CMD tag=%d not
> pending?\n", tag);
>  
> -		host_pvt.sata_dwc_sactive_issued |=
> qcmd_tag_to_mask(tag);
> +		hsdev->sactive_issued |= qcmd_tag_to_mask(tag);
>  
>  		qc = ata_qc_from_tag(ap, tag);
>  		/*
> @@ -582,11 +577,11 @@ static irqreturn_t sata_dwc_isr(int irq, void
> *dev_instance)
>  		handled = 1;
>  		goto DONE;
>  	}
> -	sactive = core_scr_read(SCR_ACTIVE);
> -	tag_mask = (host_pvt.sata_dwc_sactive_issued | sactive) ^
> sactive;
> +	sactive = core_scr_read(hsdev, SCR_ACTIVE);
> +	tag_mask = (hsdev->sactive_issued | sactive) ^ sactive;
>  
>  	/* If no sactive issued and tag_mask is zero then this is
> not NCQ */
> -	if (host_pvt.sata_dwc_sactive_issued == 0 && tag_mask == 0)
> {
> +	if (hsdev->sactive_issued == 0 && tag_mask == 0) {
>  		if (ap->link.active_tag == ATA_TAG_POISON)
>  			tag = 0;
>  		else
> @@ -656,22 +651,19 @@ DRVSTILLBUSY:
>  	 */
>  
>  	 /* process completed commands */
> -	sactive = core_scr_read(SCR_ACTIVE);
> -	tag_mask = (host_pvt.sata_dwc_sactive_issued | sactive) ^
> sactive;
> +	sactive = core_scr_read(hsdev, SCR_ACTIVE);
> +	tag_mask = (hsdev->sactive_issued | sactive) ^ sactive;
>  
> -	if (sactive != 0 || (host_pvt.sata_dwc_sactive_issued) > 1
> || \
> -							tag_mask >
> 1) {
> +	if (sactive != 0 || hsdev->sactive_issued > 1 ||  tag_mask >
> 1) {
>  		dev_dbg(ap->dev,
>  			"%s
> NCQ:sactive=0x%08x  sactive_issued=0x%08x tag_mask=0x%08x\n",
> -			__func__, sactive,
> host_pvt.sata_dwc_sactive_issued,
> -			tag_mask);
> +			__func__, sactive, hsdev->sactive_issued,
> tag_mask);
>  	}
>  
> -	if ((tag_mask | (host_pvt.sata_dwc_sactive_issued)) != \
> -					(host_pvt.sata_dwc_sactive_i
> ssued)) {
> +	if ((tag_mask | hsdev->sactive_issued) != hsdev-
> >sactive_issued) {
>  		dev_warn(ap->dev,
> -			 "Bad tag mask?  sactive=0x%08x
> (host_pvt.sata_dwc_sactive_issued)=0x%08x  tag_mask=0x%08x\n",
> -			 sactive, host_pvt.sata_dwc_sactive_issued,
> tag_mask);
> +			 "Bad tag mask?  sactive=0x%08x
> sactive_issued=0x%08x  tag_mask=0x%08x\n",
> +			 sactive, hsdev->sactive_issued, tag_mask);
>  	}
>  
>  	/* read just to clear ... not bad if currently still busy */
> @@ -733,7 +725,7 @@ STILLBUSY:
>  	 * we were processing --we read status as part of processing
> a completed
>  	 * command).
>  	 */
> -	sactive2 = core_scr_read(SCR_ACTIVE);
> +	sactive2 = core_scr_read(hsdev, SCR_ACTIVE);
>  	if (sactive2 != sactive) {
>  		dev_dbg(ap->dev,
>  			"More completed - sactive=0x%x
> sactive2=0x%x\n",
> @@ -819,8 +811,9 @@ static int sata_dwc_qc_complete(struct ata_port
> *ap, struct ata_queued_cmd *qc,
>  	u8 status = 0;
>  	u32 mask = 0x0;
>  	u8 tag = qc->tag;
> +	struct sata_dwc_device *hsdev = HSDEV_FROM_AP(ap);
>  	struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap);
> -	host_pvt.sata_dwc_sactive_queued = 0;
> +	hsdev->sactive_queued = 0;
>  	dev_dbg(ap->dev, "%s checkstatus? %x\n", __func__,
> check_status);
>  
>  	if (hsdevp->dma_pending[tag] == SATA_DWC_DMA_PENDING_TX)
> @@ -833,10 +826,8 @@ static int sata_dwc_qc_complete(struct ata_port
> *ap, struct ata_queued_cmd *qc,
>  
>  	/* clear active bit */
>  	mask = (~(qcmd_tag_to_mask(tag)));
> -	host_pvt.sata_dwc_sactive_queued =
> (host_pvt.sata_dwc_sactive_queued) \
> -						& mask;
> -	host_pvt.sata_dwc_sactive_issued =
> (host_pvt.sata_dwc_sactive_issued) \
> -						& mask;
> +	hsdev->sactive_queued = hsdev->sactive_queued & mask;
> +	hsdev->sactive_issued = hsdev->sactive_issued & mask;
>  	ata_qc_complete(qc);
>  	return 0;
>  }
> @@ -961,7 +952,7 @@ static int sata_dwc_port_start(struct ata_port
> *ap)
>  	}
>  
>  	/* Clear any error bits before libata starts issuing
> commands */
> -	clear_serror();
> +	clear_serror(hsdev);
>  	ap->private_data = hsdevp;
>  	dev_dbg(ap->dev, "%s: done\n", __func__);
>  	return 0;
> @@ -999,6 +990,7 @@ static void sata_dwc_exec_command_by_tag(struct
> ata_port *ap,
>  {
>  	unsigned long flags;
>  	struct sata_dwc_device_port *hsdevp = HSDEVP_FROM_AP(ap);
> +	struct sata_dwc_device *hsdev = HSDEV_FROM_AP(ap);
>  
>  	dev_dbg(ap->dev, "%s cmd(0x%02x): %s tag=%d\n", __func__,
> tf->command,
>  		ata_get_cmd_descript(tf->command), tag);
> @@ -1012,7 +1004,7 @@ static void sata_dwc_exec_command_by_tag(struct
> ata_port *ap,
>  	 * managed SError register for the disk needs to be done
> before the
>  	 * task file is loaded.
>  	 */
> -	clear_serror();
> +	clear_serror(hsdev);
>  	ata_sff_exec_command(ap, tf);
>  }
>  
> @@ -1065,7 +1057,7 @@ static void sata_dwc_bmdma_start_by_tag(struct
> ata_queued_cmd *qc, u8 tag)
>  	sata_dwc_tf_dump(ap, &qc->tf);
>  
>  	if (start_dma) {
> -		reg = core_scr_read(SCR_ERROR);
> +		reg = core_scr_read(hsdev, SCR_ERROR);
>  		if (reg & SATA_DWC_SERROR_ERR_BITS) {
>  			dev_err(ap->dev, "%s: ****** SError=0x%08x
> ******\n",
>  				__func__, reg);
> @@ -1128,6 +1120,7 @@ static unsigned int sata_dwc_qc_issue(struct
> ata_queued_cmd *qc)
>  	u32 sactive;
>  	u8 tag = qc->tag;
>  	struct ata_port *ap = qc->ap;
> +	struct sata_dwc_device *hsdev = HSDEV_FROM_AP(ap);
>  
>  #ifdef DEBUG_NCQ
>  	if (qc->tag > 0 || ap->link.sactive > 1)
> @@ -1144,9 +1137,9 @@ static unsigned int sata_dwc_qc_issue(struct
> ata_queued_cmd *qc)
>  	sata_dwc_qc_prep_by_tag(qc, tag);
>  
>  	if (ata_is_ncq(qc->tf.protocol)) {
> -		sactive = core_scr_read(SCR_ACTIVE);
> +		sactive = core_scr_read(hsdev, SCR_ACTIVE);
>  		sactive |= (0x00000001 << tag);
> -		core_scr_write(SCR_ACTIVE, sactive);
> +		core_scr_write(hsdev, SCR_ACTIVE, sactive);
>  
>  		dev_dbg(qc->ap->dev,
>  			"%s: tag=%d ap->link.sactive = 0x%08x
> sactive=0x%08x\n",
> @@ -1289,7 +1282,6 @@ static int sata_dwc_probe(struct
> platform_device *ofdev)
>  	/* Setup port */
>  	host->ports[0]->ioaddr.cmd_addr = base;
>  	host->ports[0]->ioaddr.scr_addr = base +
> SATA_DWC_SCR_OFFSET;
> -	host_pvt.scr_addr_sstatus = base + SATA_DWC_SCR_OFFSET;
>  	sata_dwc_setup_port(&host->ports[0]->ioaddr, (unsigned
> long)base);
>  
>  	/* Read the ID and Version Registers */

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy


  reply	other threads:[~2015-12-17 15:06 UTC|newest]

Thread overview: 154+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-15 23:25 [PATCH 1/3] ata: sata_dwc_460ex: use "dmas" DT property to find dma channel Mans Rullgard
2015-12-15 23:25 ` [PATCH 2/3] ata: sata_dwc_460ex: add phy support Mans Rullgard
2015-12-16 11:14   ` Sergei Shtylyov
2015-12-16 11:24     ` Måns Rullgård
2015-12-15 23:25 ` [PATCH 3/3] ata: sata_dwc_460ex: get rid of global data Mans Rullgard
2015-12-17 15:06   ` Andy Shevchenko [this message]
2015-12-17 15:19     ` Måns Rullgård
2015-12-17 15:37       ` Andy Shevchenko
2015-12-17 15:57         ` Måns Rullgård
2015-12-15 23:34 ` [PATCH 1/3] ata: sata_dwc_460ex: use "dmas" DT property to find dma channel Måns Rullgård
2015-12-17 14:59   ` Andy Shevchenko
2015-12-17 15:13     ` Måns Rullgård
2015-12-17 15:55       ` Andy Shevchenko
2015-12-17 16:04         ` Måns Rullgård
2015-12-17 16:53           ` Andy Shevchenko
2015-12-17 17:57             ` Julian Margetson
2015-12-17 17:59               ` Måns Rullgård
     [not found]                 ` <567302E8.5050303@candw.ms>
2015-12-17 18:51                   ` Måns Rullgård
     [not found]                     ` <5673061A.4070700@candw.ms>
2015-12-17 19:53                       ` Måns Rullgård
     [not found]                         ` <56732C04.9040100@candw.ms>
2015-12-18  0:06                           ` Måns Rullgård
2015-12-18  0:59                             ` Julian Margetson
2015-12-18  1:38                               ` Måns Rullgård
2015-12-18 11:48                             ` Julian Margetson
2015-12-18 12:04                               ` Måns Rullgård
2015-12-18 12:23                                 ` Andy Shevchenko
2015-12-18 12:49                                   ` Måns Rullgård
     [not found]                                     ` <5674271B.9090308@candw.ms>
2015-12-18 17:18                                       ` Måns Rullgård
2015-12-18 18:48                                         ` Andy Shevchenko
     [not found]                                         ` <56745BA4.1090607@candw.ms>
2015-12-18 22:33                                           ` Måns Rullgård
2015-12-18 22:49                                             ` Julian Margetson
2015-12-18 23:16                                               ` Måns Rullgård
2015-12-19  2:34                                                 ` Andy Shevchenko
2015-12-19 11:39                                                   ` Julian Margetson
2015-12-19 15:40                                                     ` Måns Rullgård
2015-12-19 15:40                                                       ` Måns Rullgård
     [not found]                                                       ` <567585CD.9080105@candw.ms>
2015-12-19 16:39                                                         ` Måns Rullgård
2015-12-19 16:39                                                           ` Måns Rullgård
2015-12-19 16:56                                                       ` Andy Shevchenko
2015-12-19 17:05                                                         ` Måns Rullgård
2015-12-19 17:05                                                           ` Måns Rullgård
2015-12-19 17:09                                                           ` Julian Margetson
2015-12-19 17:11                                                             ` Andy Shevchenko
2015-12-19 17:19                                                             ` Måns Rullgård
2015-12-19 17:19                                                               ` Måns Rullgård
2015-12-19 18:56                                                               ` Julian Margetson
2015-12-19 19:07                                                                 ` Måns Rullgård
2015-12-19 19:07                                                                   ` Måns Rullgård
2015-12-19 20:16                                                                   ` Julian Margetson
2015-12-19 20:39                                                                     ` Andy Shevchenko
2015-12-19 20:41                                                                       ` Måns Rullgård
2015-12-19 20:41                                                                         ` Måns Rullgård
2015-12-19 20:48                                                                         ` Julian Margetson
2015-12-19 20:55                                                                         ` Julian Margetson
2015-12-20 17:11                                                                           ` Måns Rullgård
2015-12-20 17:11                                                                             ` Måns Rullgård
2015-12-20 17:41                                                                             ` Andy Shevchenko
2015-12-20 17:54                                                                               ` Måns Rullgård
2015-12-20 17:54                                                                                 ` Måns Rullgård
2015-12-20 17:44                                                                             ` Julian Margetson
2015-12-20 18:49                                                                               ` Måns Rullgård
2015-12-20 18:49                                                                                 ` Måns Rullgård
2015-12-20 20:17                                                                                 ` Andy Shevchenko
2015-12-20 20:55                                                                                   ` Andy Shevchenko
2015-12-21  1:19                                                                                     ` Måns Rullgård
2015-12-21  1:19                                                                                       ` Måns Rullgård
2015-12-21 19:08                                                                                       ` Andy Shevchenko
2015-12-21 19:27                                                                                         ` Måns Rullgård
2015-12-21 19:27                                                                                           ` Måns Rullgård
2015-12-21 20:54                                                                                           ` Andy Shevchenko
2015-12-21 21:06                                                                                             ` Måns Rullgård
2015-12-21 21:06                                                                                               ` Måns Rullgård
2015-12-22  0:08                                                                                             ` Måns Rullgård
2015-12-22  0:08                                                                                               ` Måns Rullgård
2015-12-22 10:58                                                                                               ` Andy Shevchenko
2016-01-06 16:26                                                                                                 ` Måns Rullgård
2016-01-06 16:26                                                                                                   ` Måns Rullgård
2016-01-06 17:36                                                                                                   ` Andy Shevchenko
2016-01-07  9:34                                                                                                     ` Andy Shevchenko
2016-01-07 18:32                                                                                                       ` Måns Rullgård
2016-01-07 18:32                                                                                                         ` Måns Rullgård
2016-01-08  8:57                                                                                                         ` Andy Shevchenko
2016-01-08 10:57                                                                                                           ` Måns Rullgård
2016-01-08 10:57                                                                                                             ` Måns Rullgård
2016-01-20 18:50                                                                                                           ` Måns Rullgård
2016-01-20 18:50                                                                                                             ` Måns Rullgård
2016-01-20 19:23                                                                                                             ` Andy Shevchenko
2016-01-20 19:24                                                                                                               ` Måns Rullgård
2016-01-20 19:24                                                                                                                 ` Måns Rullgård
2016-01-20 19:38                                                                                                                 ` Andy Shevchenko
2016-01-20 19:46                                                                                                                   ` Måns Rullgård
2016-01-20 19:46                                                                                                                     ` Måns Rullgård
2016-01-20 19:51                                                                                                                     ` Andy Shevchenko
2016-01-20 20:07                                                                                                                       ` Måns Rullgård
2016-01-20 20:07                                                                                                                         ` Måns Rullgård
2016-01-22 10:04                                                                                                                         ` Andy Shevchenko
2016-01-22 11:13                                                                                                                           ` Måns Rullgård
2016-01-22 11:13                                                                                                                             ` Måns Rullgård
2016-01-22 11:56                                                                                                                             ` Andy Shevchenko
2016-01-22 12:05                                                                                                                               ` Måns Rullgård
2016-01-22 12:05                                                                                                                                 ` Måns Rullgård
2016-01-22 12:15                                                                                                                                 ` Andy Shevchenko
2015-12-21 16:48                                                                                     ` Andy Shevchenko
2015-12-21 17:20                                                                                       ` Julian Margetson
2015-12-21 17:26                                                                                       ` Julian Margetson
2015-12-21 17:55                                                                                         ` Andy Shevchenko
2015-12-21 18:23                                                                                           ` Julian Margetson
2015-12-21 18:27                                                                                             ` Måns Rullgård
2015-12-21 18:27                                                                                               ` Måns Rullgård
2015-12-21 19:08                                                                                               ` Julian Margetson
2015-12-21 19:19                                                                                               ` Julian Margetson
2015-12-21 19:27                                                                                                 ` Måns Rullgård
2015-12-21 19:27                                                                                                   ` Måns Rullgård
2015-12-21 19:47                                                                                                   ` Julian Margetson
2015-12-21 20:25                                                                                                 ` Andy Shevchenko
2015-12-21 20:29                                                                                                   ` Julian Margetson
2016-01-22 10:07                                                                                                     ` Andy Shevchenko
2015-12-21 20:33                                                                                                   ` Måns Rullgård
2015-12-21 20:33                                                                                                     ` Måns Rullgård
2015-12-21 18:25                                                                                           ` Måns Rullgård
2015-12-21 18:25                                                                                             ` Måns Rullgård
2015-12-21  0:47                                                                                   ` Måns Rullgård
2015-12-21  0:47                                                                                     ` Måns Rullgård
2015-12-21  0:53                                                                                     ` Måns Rullgård
2015-12-21  0:53                                                                                       ` Måns Rullgård
2015-12-21  0:58                                                                                   ` Måns Rullgård
2015-12-21  0:58                                                                                     ` Måns Rullgård
2015-12-21  8:40                                                                                     ` Andy Shevchenko
2015-12-21 12:15                                                                                       ` Måns Rullgård
2015-12-21 12:15                                                                                         ` Måns Rullgård
2015-12-21 17:24                                                                                         ` Andy Shevchenko
2015-12-21 18:16                                                                                           ` Måns Rullgård
2015-12-21 18:16                                                                                             ` Måns Rullgård
2015-12-21 19:23                                                                                             ` Andy Shevchenko
2015-12-21 19:50                                                                                               ` Måns Rullgård
2015-12-21 19:50                                                                                                 ` Måns Rullgård
     [not found]                                                                                       ` <5677D447.40906@candw.ms>
2015-12-21 12:16                                                                                         ` Måns Rullgård
2015-12-21 12:16                                                                                           ` Måns Rullgård
2015-12-21 13:18                                                                                           ` Julian Margetson
2015-12-21 13:24                                                                                             ` Måns Rullgård
2015-12-21 13:24                                                                                               ` Måns Rullgård
2015-12-21 14:40                                                                                               ` Julian Margetson
2015-12-21 15:24                                                                                                 ` Måns Rullgård
2015-12-21 15:24                                                                                                   ` Måns Rullgård
2015-12-21 16:44                                                                                                   ` Andy Shevchenko
2015-12-21 18:19                                                                                                     ` Måns Rullgård
2015-12-21 18:19                                                                                                       ` Måns Rullgård
2015-12-18 12:33                                 ` Julian Margetson
2015-12-18 12:38                                   ` Andy Shevchenko
2015-12-18 12:45                                   ` Måns Rullgård
     [not found]                                     ` <56740F9F.5020500@candw.ms>
2015-12-18 14:24                                       ` Andy Shevchenko
2015-12-18 14:27                                       ` Måns Rullgård
2015-12-18 10:08                           ` Andy Shevchenko
2015-12-18 11:24                             ` Måns Rullgård
2015-12-17 14:58 ` Andy Shevchenko

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=1450364765.30729.139.camel@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mans@mansr.com \
    --cc=tj@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.