From: Lee Jones <lee.jones@linaro.org>
To: 敬锐 <micky_ching@realsil.com.cn>
Cc: "sameo@linux.intel.com" <sameo@linux.intel.com>,
"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"rogerable@realtek.com" <rogerable@realtek.com>,
王炜 <wei_wang@realsil.com.cn>
Subject: Re: [PATCH 06/10] mfd: rtsx: update phy register
Date: Mon, 19 Jan 2015 07:47:15 +0000 [thread overview]
Message-ID: <20150119074715.GO3574@x1> (raw)
In-Reply-To: <54BC6426.40902@realsil.com.cn>
On Mon, 19 Jan 2015, 敬锐 wrote:
> On 01/18/2015 08:29 PM, Lee Jones wrote:
> > On Thu, 15 Jan 2015, micky_ching@realsil.com.cn wrote:
> >
> >> From: Micky Ching <micky_ching@realsil.com.cn>
> >>
> >> update phy register value and using direct value instead of macros.
> >> It is much easier to debug using constant value than a lot of macros.
> >> We usually need compare the value directly to check the configure.
> > NACK. This is the opposite of what I would like to see.
> >
> When we debug, we usually need to compare the value provided from hardware,
> of course we can compare by print them to kernel log. but I think it more
> convenient from source code. And we only set phy register when
> initialize chip,
> so the value will not scattered everywhere, we will not benefit from macros.
>
> if we want to know the meaning of setting, we can look at the register
> define.
This is not acceptable and is the complete opposite of what we're
trying to achieve. I promote readability (by humans) as one of the
highest priorities when writing code. 0xFE6C is far from readable.
> >> Signed-off-by: Micky Ching <micky_ching@realsil.com.cn>
> >> ---
> >> drivers/mfd/rts5249.c | 46 ++++++++++++++--------------------------------
> >> 1 file changed, 14 insertions(+), 32 deletions(-)
> >>
> >> diff --git a/drivers/mfd/rts5249.c b/drivers/mfd/rts5249.c
> >> index 2fe2854..00208d1 100644
> >> --- a/drivers/mfd/rts5249.c
> >> +++ b/drivers/mfd/rts5249.c
> >> @@ -132,57 +132,39 @@ static int rts5249_optimize_phy(struct rtsx_pcr *pcr)
> >> if (err < 0)
> >> return err;
> >>
> >> - err = rtsx_pci_write_phy_register(pcr, PHY_REG_REV,
> >> - PHY_REG_REV_RESV | PHY_REG_REV_RXIDLE_LATCHED |
> >> - PHY_REG_REV_P1_EN | PHY_REG_REV_RXIDLE_EN |
> >> - PHY_REG_REV_RX_PWST | PHY_REG_REV_CLKREQ_DLY_TIMER_1_0 |
> >> - PHY_REG_REV_STOP_CLKRD | PHY_REG_REV_STOP_CLKWR);
> >> + err = rtsx_pci_write_phy_register(pcr, 0x19, 0xFE6C);
> >> if (err < 0)
> >> return err;
> >>
> >> msleep(1);
> >>
> >> - err = rtsx_pci_write_phy_register(pcr, PHY_BPCR,
> >> - PHY_BPCR_IBRXSEL | PHY_BPCR_IBTXSEL |
> >> - PHY_BPCR_IB_FILTER | PHY_BPCR_CMIRROR_EN);
> >> + err = rtsx_pci_write_phy_register(pcr, 0x0A, 0x05C0);
> >> if (err < 0)
> >> return err;
> >> - err = rtsx_pci_write_phy_register(pcr, PHY_PCR,
> >> - PHY_PCR_FORCE_CODE | PHY_PCR_OOBS_CALI_50 |
> >> - PHY_PCR_OOBS_VCM_08 | PHY_PCR_OOBS_SEN_90 |
> >> - PHY_PCR_RSSI_EN);
> >> +
> >> + err = rtsx_pci_write_phy_register(pcr, 0x00, 0xBA43);
> >> + if (err < 0)
> >> + return err;
> >> + err = rtsx_pci_write_phy_register(pcr, 0x03, 0xC152);
> >> if (err < 0)
> >> return err;
> >> - err = rtsx_pci_write_phy_register(pcr, PHY_RCR2,
> >> - PHY_RCR2_EMPHASE_EN | PHY_RCR2_NADJR |
> >> - PHY_RCR2_CDR_CP_10 | PHY_RCR2_CDR_SR_2 |
> >> - PHY_RCR2_FREQSEL_12 | PHY_RCR2_CPADJEN |
> >> - PHY_RCR2_CDR_SC_8 | PHY_RCR2_CALIB_LATE);
> >> + err = rtsx_pci_write_phy_register(pcr, 0x1E, 0x78EB);
> >> if (err < 0)
> >> return err;
> >> - err = rtsx_pci_write_phy_register(pcr, PHY_FLD4,
> >> - PHY_FLD4_FLDEN_SEL | PHY_FLD4_REQ_REF |
> >> - PHY_FLD4_RXAMP_OFF | PHY_FLD4_REQ_ADDA |
> >> - PHY_FLD4_BER_COUNT | PHY_FLD4_BER_TIMER |
> >> - PHY_FLD4_BER_CHK_EN);
> >> + err = rtsx_pci_write_phy_register(pcr, 0x05, 0x4600);
> >> if (err < 0)
> >> return err;
> >> - err = rtsx_pci_write_phy_register(pcr, PHY_RDR, PHY_RDR_RXDSEL_1_9);
> >> + err = rtsx_pci_write_phy_register(pcr, 0x02, 0x041F);
> >> if (err < 0)
> >> return err;
> >> - err = rtsx_pci_write_phy_register(pcr, PHY_RCR1,
> >> - PHY_RCR1_ADP_TIME | PHY_RCR1_VCO_COARSE);
> >> + err = rtsx_pci_write_phy_register(pcr, 0x1D, 0x0824);
> >> if (err < 0)
> >> return err;
> >> - err = rtsx_pci_write_phy_register(pcr, PHY_FLD3,
> >> - PHY_FLD3_TIMER_4 | PHY_FLD3_TIMER_6 |
> >> - PHY_FLD3_RXDELINK);
> >> + err = rtsx_pci_write_phy_register(pcr, 0x08, 0x4FE4);
> >> if (err < 0)
> >> return err;
> >> - return rtsx_pci_write_phy_register(pcr, PHY_TUNE,
> >> - PHY_TUNE_TUNEREF_1_0 | PHY_TUNE_VBGSEL_1252 |
> >> - PHY_TUNE_SDBUS_33 | PHY_TUNE_TUNED18 |
> >> - PHY_TUNE_TUNED12);
> >> +
> >> + return 0;
> >> }
> >>
> >> static int rts5249_turn_on_led(struct rtsx_pcr *pcr)
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2015-01-19 7:47 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-15 11:18 [PATCH 00/10] mfd: rtsx: add support for new rts524A and rts525A micky_ching
2015-01-15 11:18 ` [PATCH 01/10] mfd: rtsx: replace TAB by SPC after #define micky_ching
2015-01-18 12:39 ` Lee Jones
2015-01-19 1:23 ` 敬锐
2015-01-19 7:49 ` Lee Jones
2015-01-15 11:18 ` [PATCH 02/10] mfd: rtsx: place register address and values togather micky_ching
2015-01-18 12:35 ` Lee Jones
2015-01-15 11:19 ` [PATCH 03/10] mfd: rtsx: add debug info when access register failed micky_ching
2015-01-18 12:35 ` Lee Jones
2015-01-15 11:19 ` [PATCH 04/10] mfd: rtsx: update PETXCFG address micky_ching
2015-01-18 12:31 ` Lee Jones
2015-01-15 11:19 ` [PATCH 05/10] mfd: rtsx: update driving settings micky_ching
2015-01-18 12:32 ` Lee Jones
2015-01-15 11:19 ` [PATCH 06/10] mfd: rtsx: update phy register micky_ching
2015-01-18 12:29 ` Lee Jones
2015-01-19 1:55 ` 敬锐
2015-01-19 7:47 ` Lee Jones [this message]
2015-01-20 2:07 ` 敬锐
2015-01-20 9:45 ` Lee Jones
2015-01-15 11:19 ` [PATCH 07/10] mfd: rtsx: remove LCTLR defination micky_ching
2015-01-18 12:28 ` Lee Jones
2015-01-19 1:12 ` 敬锐
2015-01-19 8:06 ` Lee Jones
2015-01-15 11:19 ` [PATCH 08/10] mfd: rtsx: add support for rts524A micky_ching
2015-01-18 12:20 ` Lee Jones
2015-01-19 2:32 ` 敬锐
2015-01-19 2:36 ` 敬锐
2015-01-19 7:40 ` Lee Jones
2015-01-19 3:09 ` 敬锐
2015-01-19 7:38 ` Lee Jones
2015-01-15 11:19 ` [PATCH 09/10] mfd: rtsx: add support for rts525A micky_ching
2015-01-18 11:13 ` Lee Jones
2015-01-19 2:53 ` 敬锐
2015-01-19 7:41 ` Lee Jones
2015-01-15 11:19 ` [PATCH 10/10] mfd: rtsx: using pcr_dbg replace dev_dbg micky_ching
2015-01-18 10:43 ` Lee Jones
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=20150119074715.GO3574@x1 \
--to=lee.jones@linaro.org \
--cc=devel@linuxdriverproject.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=micky_ching@realsil.com.cn \
--cc=rogerable@realtek.com \
--cc=sameo@linux.intel.com \
--cc=wei_wang@realsil.com.cn \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox