From patchwork Mon Jan 30 10:38:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siva Durga Prasad Paladugu X-Patchwork-Id: 721390 X-Patchwork-Delegate: jh80.chung@samsung.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3vBmTf24S5z9s1h for ; Mon, 30 Jan 2017 21:53:42 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="Twutbyg6"; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 514254AF41; Mon, 30 Jan 2017 11:53:40 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bEsKdKSVCa4g; Mon, 30 Jan 2017 11:53:40 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id C36144ABD8; Mon, 30 Jan 2017 11:53:39 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 333BC4A01C for ; Mon, 30 Jan 2017 11:53:37 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vDm0mM78jw3a for ; Mon, 30 Jan 2017 11:53:37 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0061.outbound.protection.outlook.com [104.47.32.61]) by theia.denx.de (Postfix) with ESMTPS id 09FAF4ABEE for ; Mon, 30 Jan 2017 11:53:32 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=RV60AFpLwmiPainuiUpYRjPNoOhA8FvlFrK6y+eHdlY=; b=Twutbyg6FMFHwTbgaB9O0gBT2ZL9tsJJeMGaSd6V1K+Z0fsHoewSJZ6HCrWeFC5/vIzdbdByLYdKoEGmxUgn2d0n7UJKsI/Pzdfy4xfIzpzIFB6fbnbHf2LfOv3rJFgrCAy024TU0sX/9uLUGxSBYUS+RJRvPWaYcqJcao2GizA= Received: from CY4PR02CA0030.namprd02.prod.outlook.com (10.175.57.144) by DM2PR02MB1385.namprd02.prod.outlook.com (10.161.143.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13; Mon, 30 Jan 2017 10:38:25 +0000 Received: from BL2NAM02FT061.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::204) by CY4PR02CA0030.outlook.office365.com (2603:10b6:903:117::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.874.12 via Frontend Transport; Mon, 30 Jan 2017 10:38:24 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by BL2NAM02FT061.mail.protection.outlook.com (10.152.77.7) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.874.2 via Frontend Transport; Mon, 30 Jan 2017 10:38:24 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:59038 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1cY9Lr-0004dY-OJ; Mon, 30 Jan 2017 02:38:23 -0800 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1cY9Lr-00045U-L8; Mon, 30 Jan 2017 02:38:23 -0800 Received: from [172.23.37.99] (helo=xhdsivadur40.xilinx.com) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1cY9Lo-00041m-Ip; Mon, 30 Jan 2017 02:38:21 -0800 From: Siva Durga Prasad Paladugu To: Date: Mon, 30 Jan 2017 16:08:21 +0530 Message-ID: <1485772712-4653-5-git-send-email-sivadur@xilinx.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1485772712-4653-1-git-send-email-sivadur@xilinx.com> References: <1485772712-4653-1-git-send-email-sivadur@xilinx.com> X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.1.0.1062-22854.006 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(39850400002)(39410400002)(39860400002)(39840400002)(39450400003)(2980300002)(438002)(199003)(189002)(5660300001)(4326007)(47776003)(36756003)(9786002)(189998001)(81156014)(81166006)(2906002)(305945005)(48376002)(50466002)(33646002)(54906002)(50226002)(356003)(4001430100002)(50986999)(76176999)(8936002)(626004)(110136003)(92566002)(6916009)(2351001)(38730400001)(39060400001)(106466001)(77096006)(63266004)(107886002)(36386004)(2950100002)(8676002)(5003940100001)(107986001)(5001870100001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR02MB1385; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT061; 1:JUO6fslXx2Jdqgxy13PgC+A6K1uiFHQpvYa0424We6hbqmVIpV1hYNaubabU085KHq074A6ApmSVmcioq5mcKuEJkoZlKqYb235VAhOTFh/tDv793CqJIwrEmYVDAI6x0NJz+Qg32yWA1Ven2c0p/5iGaaWm9J94b16QBYVZ0wWJkAfEFcsaT0Civ+30kKCHlLiulesnPUvIjzL9RpVhJW2+Dg0mjX4CrO8acAMnZh9AeVG3IDpO28v4xobO5wwCsu9JqusRHxC+D4iyo3P923uB4rswz5it6WD9t/TAVC9AUbA8IhktwrUoCMYsZMylJI9xzePgE2kb5Ns6lZlPNDsiKvzwRaLKNH1MuJPiXDC3V1AynqS2Yq1vKce1JTfqMD1aJqPMIT+w96EiO/X2M2C/3hijySyZrv0705iuUUIP6P151AY3uIRqJeJsov2tJ0L6fGrUK+Db0LWyrZhHeBHoC2Rp3MLJbbinJFJr0xEZnq0sGEbkPsoqpyvG91r9UB5Imn8C6413z7l8t1ATeviHt4DdyKyTaYhYmLMhi/I= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: e4b1d368-be48-4e1a-3771-08d448fc1e70 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002); SRVR:DM2PR02MB1385; X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1385; 3:GdUMeL5wA7f6dRIGJlZkl3/JkLl+RW2YFNtj8MgQrYm/MpTqyCPn9kxVolCG9ual9xXWbBVTlgRk85f21bd73htO+po71nk1LatPx1S2bYqtUXSOX9AW1uAu8xA4mN5mBUWmkd1tIows2TcOX+7YlheQZeonDAz79w1IMci7/lcu4GYdwkSuEaQWYZQ7O1hSZhEDwgXU/xr/P8Uj9q7E9C1bfgtT/Ku3fuTgI84BR92uS2YWuS5Rniwim6Qq44ipetdv6wuVBJjA5qS+4XtpVEpfzvHbmYzziVYHgr1uKXJ9MsoskSnU6WX16klqM9P+RXm+Sm8smCgY5ICcixuG/icilyDCB/ItvpGIwh01YHxuIKCxA4iM6hTQsUFpZF9AqGziaoMO+Sag5uFyuEu12w==; 25:efz8lPR6SXf+2LfrrE3abvy/gOJodcz7jPqnB/AHgqLschG4FP2JibWMg/ziKe+4GOZ/dvDAStkYcp81aOeSDvP80JFQd+VFrAycM0+2LgdcDD3QPAkRicumws5jsie2W3gmkEAZm9JAUsV+5wMonYtHf+Q0oEdx9VzcH9OlbBC8HDYn4puClzYOYeKkL5S5TiMFJpPvunqNHg3UNBQeptHiWIE+xj169A8PRgrLrn1RdX2P+NgWw/jbntav3JKRtN7J4Lv/CqgbRoJkBJ6Qs/cO/CrpOVpnsUmkEP12V7NzhAS6peJn9dgyrr1Mo2kIRaLQDsywdwuLYGF10jHMIp80/iRrZBNZOTr5NDlLegJI+vOz825vm3TWOpAXIcFPpqr9eaaBw0hF3ko304QfX+2QSQ9iERq7sk148aNBMJ+YLUbjR3Di3SW/gVsByVGTlvaZAIF3UaVLD8IVTq7yhw== X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1385; 31:+vVK84kxGeQ9fchgH+E8sCSexrhZG8ODqj9dQoL03cB+iPd9LBUwcJIvsziKo4tp+vPWtmw2fX3NEH0uk2JW1QYHryUPTyRy5GqCF3ERIdKczl5FJNj65g4gd40rIWdpdrThWuojrfaKyQHFipcHyamccuj6n/Ton+BumgAHXSzTRneoPS1mnllfAOydzhbCIZutm4uDMHZREQOgPCHO83dIEfYK3+RUFn9NJaEvXQZ4Wumlak+18Jph8PHIE4bRP/j+PgBmYS/8iF7Jj1jVeoXp4uak/APHPZdUPO64HBI=; 20:zod1mZiioGqygT06tStkU6xgz7Zq7rLEaJYzOg+C/X6cq6xzENaJHug8kVW308DYUARuHc0LVAxCp9PyxUDkrwP9WOvkpLmxvhNqAGVYubIyZV2TdN4DtIUd8dTnU9yf2e63NRYa2EeWBlFdKt4s+NWTnN8HXaW6MPADwDveS2zpy1Al8DU7YAWfWTv4mmfdTI6bhcGbXrXHnYKd+TJDPpwBjBSym9ELy4W8iM267GpB10FR0Rp+/1Brxksz76sFRPThOwKLYqtfoUwtr04FuQu2x3eIvBOH0JQUpZsSwOqYGPmAmnVsmiIdoYmSlvgR1iuEE+51eoZMPWvcZbISmpIWgJWp5BATbISlUgYp1GNeZVFOBJXqjANL0/xdKCMm4DGFbfa02U424874svB7XSTtrK8q2C+RFz2XjxrOGiBHhqcGymCJSo5gcYWYxSOm9oDRAaTNP8kRSWmvYAAGby91HlqwZgVBEHQ3AEejqRBxHo4QkqsP7r9s148y0X89 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13023025)(13017025)(13015025)(13024025)(13018025)(8121501046)(5005006)(10201501046)(3002001)(6055026)(6041248)(20161123560025)(20161123564025)(20161123562025)(20161123555025)(6072148); SRVR:DM2PR02MB1385; BCL:0; PCL:0; RULEID:; SRVR:DM2PR02MB1385; X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1385; 4:+5stBuHMIqDuFX0Pk2dMiQD/sC81RUkkglxVcFwuLbWqJm3yy9TyOypHQXMR05Gmjw3NVa5t1paWQhADUZ3wJFYg5z3AAz5Ql85B7NEcCkfqTANrPypn8gpSsZXCPZaZ1GkqiyFY0it0bMESJCqwndWqC3n0yn+bXE5uPjt2K8G10fcgRw19Qilujc7UI48gFeu7mckyrNN/Dga1ir18vn160/a6Jxx9KdphwNB7y2c74Kfv/8cKcx1JbGfE+4ggbs0lotw1bKVKPXJdbwaR/k2RFEr8K77GXZqzpPqKZSMte7Jb52k15gSaAI/GPLqMKhagic8IfblqVhiBw+N+knLRrBxkQjI4AGam5yRCWrcISYmeO9S944c99+4W66+SYl7jDIDVlsFhvqfXcYl1egrUq4psGqAfQhTpFnNizYkjjuG0WSuQqw3dxMPN/IPqb1BO2jS3ubPxM1IgjxKL0KwClgfgk4zi/lv/idm87ZEabxxEKyssryWaW+GceCGm+lOngP+dDWhZDEYxGSeKlX0doz9xbEa5DPAhabOD622tWuTSeDDK43yiEH1zhtquFcQZX3y7EkdlKsWFTBazGIKKeR4sgHmXXBeLgCIzyurlCJmnRVCaErzSpWWvM9fe4biRdsk/kW7ORE1hcilHfzcARRjv7xFdfBXaLAwxQJVjMVuWLUjOC0HElYVe72XdfL4TjZ3IuQkYeNJwoILzs4vK+VDZBZChywUTc18wr9Y= X-Forefront-PRVS: 0203C93D51 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR02MB1385; 23:hHlvIxWDIY42/hvStG54ilielu3xkAAj02tQrpMtT?= =?us-ascii?Q?OAckTmykPd4awKw1eZesKciQ5kFgxhBTPFUIdNksdb4eF8AiMNzgRjRCT0LB?= =?us-ascii?Q?5VSr15P/qklUk0sPtrQsxtEoB1mCSS2k8GvJ3K0fLw9cx3YeXbnPC7mjOnwy?= =?us-ascii?Q?94KO7FOl2NTEovgTZ64zttwY+LkTLAZYLwxzatyWSmjOltHi9UMEdlbCDTI+?= =?us-ascii?Q?Fn7jA5NDxBB2+5Ia5FyXdHAH02SCr/bdBZeYD/cxSXqy8hEb+0X5f3rYf71n?= =?us-ascii?Q?Jtvp4ZMAcio7fmsGfKPdd9Bvm0SCyRE5WebjOv+WSKE4d9Q65HSfvXlTvXsV?= =?us-ascii?Q?JDegjyYp5VQ/VtXMFP3G++I0Es38Pw6rQl4fvH6GCMcZO08rlyFVi6xNcsiN?= =?us-ascii?Q?Iq22WYPZTy8KxJOEFSG+hYxJyK2eaJnDLaXl9MSvxWTPzfdzsBanafJxZjwg?= =?us-ascii?Q?sskC7DZRLlA2YEf5ahuTMUEJQoQ/AfLZz2wRRf/4EAl4pZ8jdWIW059DX31y?= =?us-ascii?Q?25kIUlsdXhfSw16bl8Zw+ifsrpWVNkLRKeLmIgyZVvUQf0JImBcZSwbW9Bhs?= =?us-ascii?Q?73JKb5qes1gi5kRqKzUxZXN4z7rhUaCqpmL/Jn09UCsLmoN/L7hkkt0AzGHs?= =?us-ascii?Q?fI5uwEZU793lSVLMjy1nxs3Yw4fXh05Fp7lqfCNoPQO2cnS1UdWYrm+OULDv?= =?us-ascii?Q?cNMGT9Y7M8HszWinFsxvbT5jMK/SeB+Ko/L87svuArdBeuqWdX2Bm/LdrJJZ?= =?us-ascii?Q?ZJMNode6eGcF3NfpQ4FEyDWDJySHwu5XgTeFn9kYsO4TBBdjAzqrsD0+upky?= =?us-ascii?Q?xqbvqpAYY+HcktJzx0EQXqJ3IONUjsfyud83ZjqfkuomdGe71ztk/IHHz92D?= =?us-ascii?Q?zzJzPFXIGWCnSltiX2kOcPX2KnYzBbNP3siZXEaAy+NOIJbIrKaPueIW6YSo?= =?us-ascii?Q?kILiK6Ex+5sIzfAtYvI3b3nlILgJXbIG42KtiLKHCXohJxeY6hQTN7BToAnW?= =?us-ascii?Q?D7BjRc/pH93x1ooV6o5pJtvVo3kOiNmeu+1oxQctQheDzfnXtad+HOzemGF9?= =?us-ascii?Q?0nK0CuNsxDiZjT/XSIvgmeTHk9DsDHDnY+4hVUuNBxM1lV3m5j0q6XMjd+wF?= =?us-ascii?Q?Tf1cMtad02tokAOSumJsOqoR4dMlW9t65pkkIt9YbGWQvdoNDAbvOdIaQp/O?= =?us-ascii?Q?gcl3gEfOFBhL74rLVFdLWSwREOUJdcJQVsQ?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1385; 6:SVO+mNR3XmrLFcbGkZUPge/BmWQtdQiJsNYD2qF10gTzvu4jlmcqnZ2ZL/gZF/la5M+W+xxbp6fu+9hsvx3N16Wdovwv6mn2v4Zw741jU+ittr3xQTegEK+FryCB2phzRHFFjjd9yfp2XzA9C55saChVDomXyZXW/lMf+opBzSe2vMoxikwKWJIdlrgoRYRW8PwXy8H+A4mPoyl5FUWYMDLe0u2dNMo7IOVb0eRwZQCaD2yLcIMMRPkvE09GXNz/6bU2h7I8pVCkThspOxuA8S6Vfg46hCHgnazl9vC4TUZLitQNfho/SyZUvcUIncYA06XjTmIukonoZ6WFH72aLWmJLOF9SAs59tOu7nRO9w4zPTD+TQYznmvKUlEjyF4J+bQpcdgdslBkIzGy+XOS33ryeK0jESHIlwfp5ptE5dA8CjXHkNUVBWbHY648EVBa; 5:tf2cNtoAytpFwVE3suo7kofsfn/EVAp50QSBNsimGZPhcF+OxoNqdDAuZZumz7rr6VzMCEWn6Q+zNhWdtzkjXloO4xfISbXCC1IGGHkbwlg7BboJOpdzlZWLzZXCC3+C+AlkfJYKV5COU5vhWWjeUA==; 24:GHCVW9sXAV6u7r+mH3V36YRjl0E0ZuYJ236rvkYCoB77hRxKLwyz0ZzdOLQbPqCyAgA58XjNzABmg0Jlj+/Fzrc+/H3PYDOE394r7ZBbqxU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR02MB1385; 7:2oOUZoVn2AZAkh5zXgAg1GXQVTPTFBS3f/r4KGhc1Gb7nZi7duF4B4A0CziYooLhXMH6ooRkCi9mrJ4EPxnB2Wkk5LqR3UVsjGsLGL7/1zU3hb5Oinw/4Gr736n5NN/Ys9T4lj8Vo/vHhwQax1WS5c1tU1QHe7m452nEzoj7yeAsKuQFcVjpX6uZELwUGke9wVMGKrXo/F/eSfxmfadBfcmIaSlmHr7fVg6/HNHfUiPTop/1zVMiReNEnTlwvu/V+lvGnb+4l5d5TcCCTFBqkVL+QpE9s8TFCBwzuKNftWEIfGpopH7Scbv7EgyS7H2zX8n6EHaHRwz0jo4Z2Go0VS+U8fvDQpp4CfSqeez6GqjyRK/xMssApbE+st83t4IayOxan7+fytgxXRlMsGbzuUJHzq+Y0K0zbqE8jCI+er6ua4bL38zpNybQbwAqBN0C6SVunn3lYtGwbrBxEPhujw== X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2017 10:38:24.3836 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR02MB1385 Cc: afleming@gmail.com, michals@xilinx.com, Siva Durga Prasad Paladugu Subject: [U-Boot] [UBOOT v2 04/15] mmc: sdhci: Add support for platform/board specific tuning X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Add support to execute platform/board specific tuning needed for SDR104 and SDR50 UHS modes.This patch adds hook routine to support specific tuning requirements. Signed-off-by: Siva Durga Prasad Paladugu --- Changes from v1: - None --- drivers/mmc/sdhci.c | 8 ++++++++ include/sdhci.h | 1 + 2 files changed, 9 insertions(+) diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index bba2c30..a24cc15 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -309,11 +309,19 @@ static int sdhci_execute_tuning(struct mmc *mmc, u8 opcode) struct mmc_cmd cmd; struct mmc_data data; u32 ctrl; + int err; u8 tuning_loop_counter = 40; struct sdhci_host *host = mmc->priv; debug("%s\n", __func__); + if (host->ops->platform_execute_tuning) { + err = host->ops->platform_execute_tuning(mmc, opcode); + if (err) + return err; + return 0; + } + ctrl = sdhci_readw(host, SDHCI_HOST_CTRL2); ctrl |= SDHCI_CTRL_EXEC_TUNING; sdhci_writew(host, ctrl, SDHCI_HOST_CTRL2); diff --git a/include/sdhci.h b/include/sdhci.h index fc0708c..dbe3836 100644 --- a/include/sdhci.h +++ b/include/sdhci.h @@ -250,6 +250,7 @@ struct sdhci_ops { void (*set_control_reg)(struct sdhci_host *host); void (*set_ios_post)(struct sdhci_host *host); void (*set_clock)(struct sdhci_host *host, u32 div); + int (*platform_execute_tuning)(struct mmc *host, u8 opcode); }; struct sdhci_host {