Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754726AbcK1LjB (ORCPT ); Mon, 28 Nov 2016 06:39:01 -0500 Received: from mx0a-0016f401.pphosted.com ([67.231.148.174]:34919 "EHLO mx0b-0016f401.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754036AbcK1Lix (ORCPT ); Mon, 28 Nov 2016 06:38:53 -0500 Subject: Re: [PATCH 7/10] mmc: sdhci-xenon: Add support to PHYs of Marvell Xenon SDHC To: Ulf Hansson References: <3cd05a26-d340-476e-bab1-8be9d5446f47@marvell.com> <436c6925-cb0d-afe7-e3a2-384eca15ff42@marvell.com> <8359307d-5f44-3db9-aae1-eb1fe8e1141d@marvell.com> CC: Gregory CLEMENT , Adrian Hunter , "linux-mmc@vger.kernel.org" , Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Rob Herring , "devicetree@vger.kernel.org" , Thomas Petazzoni , "linux-arm-kernel@lists.infradead.org" , Jimmy Xu , Jisheng Zhang , Nadav Haklai , Ryan Gao , Doug Jones , Victor Gu , "Wei(SOCP) Liu" , Wilson Ding , Romain Perier , Yehuda Yitschak , Marcin Wojtas , Hanna Hawa , Kostya Porotchkin , "linux-kernel@vger.kernel.org" From: Ziji Hu Message-ID: <10a885f0-82e9-a35c-f62f-3fc4518ea8b4@marvell.com> Date: Mon, 28 Nov 2016 19:38:11 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Thunderbird/45.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-11-28_04:,, signatures=0 X-Proofpoint-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1609300000 definitions=main-1611280197 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1742 Lines: 50 Hi Ulf, On 2016/11/28 19:13, Ulf Hansson wrote: >> >> As you suggest, I replace mmc_wait_for_cmd() with mmc_send_tuning(), to >> send commands for testing current sampling point set in our host PHY. >> >> According to my test result, it shows that mmc_send_tuning() can only support >> tuning command (CMD21/CMD19). >> As a result, we cannot use mmc_send_tuning() when card is in the speed modes >> which doesn't support tuning, such as eMMC HS SDR, eMMC HS DRR and >> SD SDR 12/SDR25/DDR50. Card will not response to tuning commands in those >> speed modes. >> >> Could you please provide suggestions for the speed mode in which tuning is >> not available? >> > > Normally the mmc host driver shouldn't have to care about what the > card supports, as that is the responsibility of the mmc core to > manage. > > The host should only need to implement the ->execute_tuning() ops, > which gets called when the card supports tuning (CMD19/21). Does it > make sense? > I think it is irrelevant to tuning procedure. Our host requires to adjust PHY setting after each time ios setting (SDCLK/bus width/speed mode) is changed. The simplified sequence is: mmc change ios --> mmc_set_ios() --> ->set_ios() --> after sdhci_set_ios(), adjust PHY setting. During PHY setting adjustment, out host driver has to send commands to test current sampling point. Tuning is another independent step. Thus our host needs a valid command in PHY setting adjustment. Tuning command can be borrowed to complete this task in SD SDR50. But for other speed mode, we have to find out a valid command. Any suggestion please? Thank you. Best regards, Hu Ziji > Kind regards > Uffe >