Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754024AbdLTBCJ (ORCPT ); Tue, 19 Dec 2017 20:02:09 -0500 Received: from mail-sn1nam02on0102.outbound.protection.outlook.com ([104.47.36.102]:54460 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753781AbdLTBCE (ORCPT ); Tue, 19 Dec 2017 20:02:04 -0500 From: "Takiguchi, Yasunari" To: Mauro Carvalho Chehab CC: "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-media@vger.kernel.org" , "tbird20d@gmail.com" , "frowand.list@gmail.com" , "Yamamoto, Masayuki" , "Nozawa, Hideki (STWN)" , "Yonezawa, Kota" , "Matsumoto, Toshihiko" , "Watanabe, Satoshi (SSS)" , "Takiguchi, Yasunari" Subject: RE: [PATCH v4 05/12] [media] cxd2880: Add tuner part of the driver Thread-Topic: [PATCH v4 05/12] [media] cxd2880: Add tuner part of the driver Thread-Index: AQHTdEH07yQd9QlFBkG9aiZ547T/F6NLceQA Date: Wed, 20 Dec 2017 01:01:59 +0000 Message-ID: <02699364973B424C83A42A84B04FDA85440BB1@JPYOKXMS113.jp.sony.com> References: <20171013054635.20946-1-Yasunari.Takiguchi@sony.com> <20171013060725.21439-1-Yasunari.Takiguchi@sony.com> <20171213164039.7eb5ad79@vento.lan> In-Reply-To: <20171213164039.7eb5ad79@vento.lan> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [2001:cf8:1:aec:0:dddd:19e1:c008] Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:117.103.190.41;IPV:NLI;CTRY:JP;EFV:NLI;SFV:NSPM;SFS:(10019020)(346002)(39860400002)(39380400002)(396003)(376002)(2980300002)(438002)(199004)(189003)(39060400002)(106002)(4326008)(575784001)(54906003)(76176011)(50466002)(16586007)(47776003)(478600001)(55846006)(6116002)(2920100001)(316002)(86362001)(2900100001)(7696005)(102836003)(23726003)(72206003)(46406003)(33656002)(106466001)(356003)(305945005)(7736002)(97756001)(7636002)(6246003)(246002)(107886003)(229853002)(8936002)(8676002)(6916009)(2906002)(2950100002)(5660300001)(55016002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR13MB0453;H:jp.sony.com;FPR:;SPF:Pass;PTR:jpyokxeg101.jp.sony.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1NAM02FT034;1:s6SO8sZT3b+7Hq8pMUozGftVpYhMfqwGcrlud2PV9l/k891v0HqE0r9zOFVtbRA+Y1HIA/XVECeXh+BhcdN45LG/rO5Y87NnVBGpY+ij5EJaQ5lpsKrYSRTJBAVv4dld X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fa1d1b0d-7ca8-4642-7911-08d5474546d3 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(4608076)(2017052603307);SRVR:BY2PR13MB0453; X-Microsoft-Exchange-Diagnostics: 1;BY2PR13MB0453;3:RBX6KIeWk82SwsnkxFM1sEVBEcK1Ld6wZKZOf961F3HKzFmrMugLFct0LVrb3iVwxlOefnNqlRVPUpTxK3mwxiiypVYBPtBNmAiMUZ9/vWGsalMwJ5WpuwAbxgoStMxVsWmiiaPxSahch31mPbDnL4iUaUozLiSmNB5lGzvwYrS1b9fRLkU4YDQRqxKMWKYfctVGOhfHGRxe+m6Na0MKLGNnQYa6Ydjzvxx3ktD2DZqvSXHMr+69Y8/UjZmD43jXoUqnxE4Va5GnBP6MSD8zJJ128GhGOFWaIM3CibSD3VrouwwFHiRALACQPTjriEotp5uWN2875Z/00OZxYgSvpx94pL2Am9QgdKtpLTw+58o=;25:zFfrHZwwhmLg+tjbzSd7OmVsP9a77AUBz0XdhG8wY7KtwYGZ8zL4fwxNw2B9xuhkRaLXcvVkfgGcOs0GCey5khlGwx+G5XjVaoJKsocvb75vHxE3J3BgEcq7nZpxbAQNcJ2vsk4j0VpS9VN0cWKy8uuetOYi0RJx7vb2CGlTekI3z3HzuJEbyuMCR4PLD2ouQIwGT3Inylz3M2jOoo+O6nMUyyT9xyYYLEPAHRRVl5krWGeiE9L2HqpK7Rn6Yr1h2XkAh6ooM8khTQ80r0a0JLaYRTFVaNDSFnYZPek+Xz4xUwgqYcwzd/VPlKGr2eUxpDxWBW/HQYd9FHVXN1j9APuJqJLwdxTm6qivsHkfZAM= X-MS-TrafficTypeDiagnostic: BY2PR13MB0453: X-Microsoft-Exchange-Diagnostics: 1;BY2PR13MB0453;31:JNcPo9FMMQbmOCTXEFkhIUEnFR/8jLca2IfmGIIIo4p+7+rj9OJ6e5kPeAAl2cSiIZPt9qm4oSdxNHWGrbcV72DFQmKbod3BuywMnaFTq7gK0ED9xhTZzLwT045uo827PBVtNMH7MQlv4wbjDLbGMs8A8ffbOmzLxzWITR1xCmkj7Nmk9F21GE69Uxet/RyjMeH4uNbiBx1+eetTbp/gOdbRhtGgIlJNzOT+KPYx064=;20:37ZkZ7vXz9LiVOtBmtx7sRO8cCjG0T4FapFHkI/JY/8auHhRKS0Apc9H53TWkWEyAS6yskQ/juXqb/uhmES3ALPwvsr45jl4evx+wyx2SwHxi6bavcIqwNXhwqlKnCiOj+XCOJmnO+ChUGlS3e8+GCv+EyXzWAksv3B8KTbWRpCe57xxJvdzAwn9+0AiOYxWdBQSROqisi+CH178qE5/Uc7Nos2/ScFYhQiJbkJr2tqTav151zVBvw44NoGlk8ADVoavUba56X/Ae9SDTKnE9gq28/s5WsAj4Pg9d6gJF0hNlQTue5Y7I2fBhFuLhC+4KOGmj0wXsZd2CECvX0kDMixu5U8Wik9+2hCM0AWeAAb2wDJZEfaK1xKEX8AC30MfaD7DZauMBckwbw6r8NuxBNq96z3RqOimtbFt9YYKVIYmZWRb4ra0xNSGcdYph+UuMdirY/E7kB2x+Ue8RHqZPNUFAAp/f/a+J/wXRzuL+62TNjdftdsY/HuVzuoasler X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040467)(2401047)(8121501046)(5005006)(93006095)(93004095)(10201501046)(3002001)(3231023)(11241501184)(6055026)(6041265)(20161123560042)(20161123564042)(20161123562042)(201703131423092)(201702281528075)(20161123555042)(201703061421075)(201703061406153)(20161123558117)(6072148)(201708071742011);SRVR:BY2PR13MB0453;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:BY2PR13MB0453; X-Microsoft-Exchange-Diagnostics: 1;BY2PR13MB0453;4:iNOU+V9XzdzRu3I6Vf9dvWylwMfXaaA2NhXce9BmrtHsf60ZKOL611V5+AT3NQ4TSDwx5WPNQYGdCaPcsiglRN10upRrGJTFcXacsT4NrO6Wr21DrEEgHf2iULNsufB4GMqTs+5QQMtg9UoIFA5gTjBFh44SRfDImXcvsEC7tstKpNvXB2hWU1n7XELPFLojUhJLfSZV3dfDBM9EBGKuw8YN4XRBkNC3XcAWdD9Fk4+S1Wa3oGuaPgiOqpGsRRPtP4jaEYBcuct36jXWW3B1JQ== X-Forefront-PRVS: 0527DFA348 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR13MB0453;23:MMHqEBFJIe+CCtnSMvRbsq10wqnBMesKBnunfO9FI?= =?us-ascii?Q?tALN13C1MW2tU4019bpaBRPqnP9XbCeoL3EPLst/g6NxdezybPdG9kObY7B+?= =?us-ascii?Q?GRkXHpaN7OvTtQ5DbYg6Kz4BtBHZkEla63M7Oy6kxjahKFuDTh+Z7XjWpSd+?= =?us-ascii?Q?zB+ihqB3VYnPuUoCzyce4JsuC8DCvO7sJJZLYITUXqm1S6V8xXu4iAF5SBYI?= =?us-ascii?Q?ZFqfvPQwf9IU+a7075NeBrx3nCSp3aqtDoUIj4xUq/3eF7DmCR4C40L5u+12?= =?us-ascii?Q?ddGQz0cMKGv+qwiTZtIPGol6yv+DHBRZF9qsKZKM42D7Q0VKfaM1uBTyknW3?= =?us-ascii?Q?ZKxFGERWc0L5kzOdOYEe3newpw7wjSfae3ttfFw1KfKFMiVMCQ7iQsoEMDjy?= =?us-ascii?Q?G4Nj+/9QTyiQuleU5xCQeUBFQa881UP9hTJ71wsE88IkDgblsHS8wpevrjQ4?= =?us-ascii?Q?yjdtk0s/2COnl29sSsmjPPkDAQlv0oPwc8rbZGah8M6CJGsI346LRGsypCJF?= =?us-ascii?Q?QbPd+TIWbbpXDEyNpNb6/5+qxl6RNeCEb10Rykh5tzR2PtI8e4M+teFNuloT?= =?us-ascii?Q?UVQ/cbbIoBYRpeK9pxZEan6N0686huk8YUusLi0ku5fpWld7+oLrlrK5i8lY?= =?us-ascii?Q?76BNqCa4/4iYWQDBMFATm5PV4a061tJkYTWrEyhhjlA4eYOaDxN8uvJBqz1B?= =?us-ascii?Q?cDKVTBQjcX6xOODiCYN0QZ91sC7vxiEi2fLty1HgfHqDf/t0c8wgfVKIBokg?= =?us-ascii?Q?HTcD57gALHYYqtGu6XgOIP6CCsAUG5mbyhtZnSp5S8mg4zMwnkkE6denCf0E?= =?us-ascii?Q?08MLGlqtYQKjoFnrCW+cvvKG7vEiXijkdHSogmXo09egxCZgRIF1z9EzLChd?= =?us-ascii?Q?hVXB2gsUcfvnWyBA58Btjgb8XEzpULSMvNvJk6mn1QzBuDzdr0ej9d0aLljZ?= =?us-ascii?Q?HUvFq/2hZwGdoiJtkPSsNF2CFrjNTFibhjtjJMzI4lm8ETVSCU7D70+zH7pU?= =?us-ascii?Q?bW2frC9RossTnEGGowier/59DcXSh1wTiV2HprndodD2ST6dnxRkxIo9eNZG?= =?us-ascii?Q?R4wCWw+RRZlPIN0xoxo9TjbNUkajLUWmpM0ZAM//np1HoO7PdrkR6AMCcmbD?= =?us-ascii?Q?xyZKZI5wAo=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR13MB0453;6:LOarH1Y+a4+54jEtROnJtPD0QcVcAChCdtwYBIvGnqQIE3rgRT49Y6PX7NfXZPUpZSSYGAu0maWS0h3G1sZUZcp1jPicZqIO2B1KM6Xjq3AdCLV890mhrAI72tuhw6DVchfx86LJ+T+8u2W6oXsuBf5wW2itXtMmb8E/1g4h7Zw0tI+MWggSt8wa3CNzTN1ol4vmdpY+uAsj+TPwt6uwkufdju/uGSlYcjp9ouCRNfiPTNe6uiuPAzSQMVoxvbl87T7VOx2nOKhFIERy3W+Du7xdm5wQeCS9tKjxvOND7/1f6xD/NGkQH4+r7UdWuiX6tFBe1k8Fx1WH9VWsPrTYKKmdIk5we4zFNcL26yb9spE=;5:w9N7d+XGHThU73kc6TAmmqV64uX7/A8xCl2myHmM8oamMYnsuaglvqoQOXCFxRPnd30OSzt3Qe1pp6ZzO+Rpre4fJddSGPGS7g7LiECE1a0ZAtZZwNUHhLo6X1oDDCFB3h0Cw0us7cVSr3B47K5yMYoFYFWRtcvwbFKn2LMp3vY=;24:59ka+QvOyPnjKARGetHssMS3/UVthHTYjsm4Bdwq7NwPykgh0MvHNLa10tvrCeyvzX1lswwXNZpUU0XFJNwWfIhQ1DRiK/oqcIRWKGlkaGM=;7:jQnEheqpVhIC0kfIRx40ZXkmdYxcHZBe56qfeMtqzIQHe1v9T3nkBu3rP9dkOqLboACq33pUjbfLICXyIqOBBXrAwXIhTQWCPbAZTvWstq35jiazenubDfvV4DRy7uA5Zc+jCZqgKBWvk2WxB1XTC0d8BZ6cyCV5FHFdeKFxbKnjXFcAf90N6BgMUrk1OalMwL/q6qDcew3PlHX9tX7Ldmq03XfBPZFqkJ7/kRp2FNdM80/Wvw0P0WUXMmGCKlWk SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: sony.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2017 01:02:00.4841 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fa1d1b0d-7ca8-4642-7911-08d5474546d3 X-MS-Exchange-CrossTenant-Id: 66c65d8a-9158-4521-a2d8-664963db48e4 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=66c65d8a-9158-4521-a2d8-664963db48e4;Ip=[117.103.190.41];Helo=[jp.sony.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR13MB0453 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1869 Lines: 67 Hi, Mauro > > + ret = tnr_dmd->io->read_regs(tnr_dmd->io, > > + CXD2880_IO_TGT_SYS, > > + 0x10, data, 1); > > + if (ret) > > + return ret; > > + if ((data[0] & 0x01) == 0x00) > > + return -EBUSY; > > I don't know anything about this hardware, but it sounds weird to return > -EBUSY here, except if the hardware reached a permanent busy condition, > and would require some sort of reset to work again. > > As this is in the middle of lots of things, I *suspect* that this is > not the case. > > If I'm right, and this is just a transitory solution that could happen > for a limited amount of time, e. g. if what's there at data[0] is a flag > saying that the device didn't finish the last operation yet, maybe the > best would be to do something like: > > for (i = 0; i < 10; i++) { > ret = tnr_dmd->io->read_regs(tnr_dmd->io, > CXD2880_IO_TGT_SYS, > 0x10, data, 1); > if (ret) > return ret; > if (data[0] & 0x01) > break; > msleep(10); > } > if (!(data[0] & 0x01)) > return -EBUSY; > > > + > > + ret = cxd2880_io_write_multi_regs(tnr_dmd->io, > > + CXD2880_IO_TGT_SYS, > > + rf_init1_seq5, > > + ARRAY_SIZE(rf_init1_seq5)); > > + if (ret) > > + return ret; > > + > > + usleep_range(1000, 2000); > > + > > + ret = tnr_dmd->io->write_reg(tnr_dmd->io, > > + CXD2880_IO_TGT_SYS, > > + 0x00, 0x0a); > > + if (ret) > > + return ret; > > + ret = tnr_dmd->io->read_regs(tnr_dmd->io, > > + CXD2880_IO_TGT_SYS, > > + 0x11, data, 1); > > + if (ret) > > + return ret; > > + if ((data[0] & 0x01) == 0x00) > > + return -EBUSY; > > Same here and on similar places. As the hardware specification, It is abnormal if certain register doesn't become 1 even if sleep time passes. Perhaps it should not be return EBUSY. We will reconsider error code. Thanks, Takiguchi