Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp2103379rdb; Tue, 3 Oct 2023 10:13:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFRM1f7bXLW45LvgoM/MKsHUhlwV2INWyLOIgRPDcLpvRQZgqLAX2BM3xmHD0XziBZ7Q5qz X-Received: by 2002:a54:440c:0:b0:3a9:e981:56 with SMTP id k12-20020a54440c000000b003a9e9810056mr205989oiw.3.1696353218563; Tue, 03 Oct 2023 10:13:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696353218; cv=none; d=google.com; s=arc-20160816; b=QScBD1pbWPlu9KvwfZHyArM7eqTwV7Ey7oatqLQvleJxiPiTC83wpRptM0ylvlBgKl SHs19L+PrpsUmmnrSiEuXG36qGkxsgEfji+mUSUrwPFvkVcIWEql4krqQvoj6td4qiEE 8hxsLsKuoD2BTPIUVfhKVKiMLbDjWAFt5PKif0CS3gdutah6bHwOI3oGcpsoYYPF/8d4 F2ZnfMHg7dVG8mqMydNKsIJcDQO2mOSz5MT01DKpMwbiiiw9EXCYo4DX+HjvV9omyV53 3Rat8vcjAOkDQOjxqbn83QmFbqidz6xMa8TICjB5+jEGPHywEz5HGE2e6VxqoO2uTiUc GNgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:content-disposition :content-transfer-encoding:mime-version:in-reply-to:references:cc :user-agent:date:subject:to:from; bh=63KjkQSomKSiTQUNNZg17FPRY53HoEHvAqt+wJXGOVQ=; fh=ErEQh0DEVuTf3hHo5b7IIjRuuSkIG7claKkHmPUFeIU=; b=Et9MoqV5Q9isXckmCc/3ZkkFBtAeHjQsOjntbrmmF8A0L4WbEdu3e5dfp4gijPoBAN nCut99ejAZIqUWL8iTto/7HL6PVOwXaOdZcMFlIweRCUiqwLDUflkzLM4tL8wsKw6tIq O4SEU5ZisBxqOhiBXCCsPRWQuhDlQsbCjBusBGH982d4Erf796XMx04ZjiFESvLcBuhu /4hTCcqvU9cqz8lmWD/YPIjkkObngWho6eDmN26gn0srQbsHrgDxW85PF3JWpT6lnwpi j3jGJtk0/rXcA0fQnIsACtoHx5NAA3mmCThaK422xZZDWlYKmZU1muagXCRm1ZarWRmk VPMw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id mq2-20020a17090b380200b0027921228848si11077179pjb.133.2023.10.03.10.13.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Oct 2023 10:13:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 3958F81A7ACC; Tue, 3 Oct 2023 10:13:37 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231902AbjJCRNg (ORCPT + 99 others); Tue, 3 Oct 2023 13:13:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56740 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231344AbjJCRNe (ORCPT ); Tue, 3 Oct 2023 13:13:34 -0400 Received: from hosting.gsystem.sk (hosting.gsystem.sk [212.5.213.30]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id D1556AF; Tue, 3 Oct 2023 10:13:30 -0700 (PDT) Received: from [192.168.0.2] (chello085216244195.chello.sk [85.216.244.195]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by hosting.gsystem.sk (Postfix) with ESMTPSA id DD7817A0090; Tue, 3 Oct 2023 19:13:29 +0200 (CEST) From: Ondrej Zary To: Sergey Shtylyov Subject: Re: [PATCH 4/4] pata_parport-fit3: implement IDE command set registers Date: Tue, 3 Oct 2023 19:13:27 +0200 User-Agent: KMail/1.9.10 Cc: Damien Le Moal , Sudip Mukherjee , Christoph Hellwig , Tim Waugh , linux-parport@lists.infradead.org, linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org References: <20230930191511.24994-1-linux@zary.sk> <20230930191511.24994-5-linux@zary.sk> In-Reply-To: X-KMail-QuotePrefix: > MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <202310031913.27387.linux@zary.sk> X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 03 Oct 2023 10:13:37 -0700 (PDT) On Monday 02 October 2023 22:06:52 Sergey Shtylyov wrote: > On 9/30/23 10:15 PM, Ondrej Zary wrote: > > > fit3 protocol driver does not support accessing IDE control registers > > (device control/altstatus). The DOS driver does not use these registers > > either (as observed from DOSEMU trace). But the HW seems to be capable > > of accessing these registers - I simply tried bit 3 and it works! > > > > The control register is required to properly reset ATAPI devices or > > they will be detected only once (after a power cycle). > > > > Tested with EXP Computer CD-865 with MC-1285B EPP cable and > > TransDisk 3000. > > > > Signed-off-by: Ondrej Zary > > --- > > drivers/ata/pata_parport/fit3.c | 16 ++++------------ > > 1 file changed, 4 insertions(+), 12 deletions(-) > > > > diff --git a/drivers/ata/pata_parport/fit3.c b/drivers/ata/pata_parport/fit3.c > > index bad7aa920cdc..86b39966755b 100644 > > --- a/drivers/ata/pata_parport/fit3.c > > +++ b/drivers/ata/pata_parport/fit3.c > [...] > > @@ -35,10 +30,11 @@ > > * cont = 1 - access the IDE command set > > */ > > > > +static int cont_map[] = { 0x00, 0x08 }; > > const? There's no 'const' in other protocol drivers. Maybe it should be added to all of them. > > + > > static void fit3_write_regr(struct pi_adapter *pi, int cont, int regr, int val) > > { > > - if (cont == 1) > > - return; > > + regr += cont_map[cont]; > > Perhaps regr += cont << 3 instead? I matched the style used by other protocol drivers. > > > > switch (pi->mode) { > > case 0: > > @@ -59,11 +55,7 @@ static int fit3_read_regr(struct pi_adapter *pi, int cont, int regr) > > { > > int a, b; > > > > - if (cont) { > > - if (regr != 6) > > - return 0xff; > > - regr = 7; > > - } > > + regr += cont_map[cont]; > > Likewise here? > > [...] > > MBR, Sergey > -- Ondrej Zary