Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp2143031ybl; Thu, 29 Aug 2019 04:16:38 -0700 (PDT) X-Google-Smtp-Source: APXvYqwtwALd2GpmZrM9icF+0zBVfilFWeiCj2dKTZiq1I4NKahAp/SPlBVwpfOZ6O2e5n0H+Ztc X-Received: by 2002:a62:65c7:: with SMTP id z190mr11014196pfb.9.1567077398035; Thu, 29 Aug 2019 04:16:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1567077398; cv=none; d=google.com; s=arc-20160816; b=exFS1SzOC0rN/fA2uweDwNoEtEaQ94tB2xW96vPnzw2YSmLYR0D52WSg65lJoag3Jm mHwTGGiBU8cl+0bqYLfMvkYuvSkWLzXBfVZWyTfYzQH5vnbW0b6/dMK3ey8xbn6SHYrk LmuvSPkFCGQX+aCPC1Rl7p0sXI7B1HzYU4+P4ZyEHp3xGIzZFJkuQXQoCbhngXbknK7X dlxM2pqBCS0MV7fQWYNy4x2qa9DMpeoAmaouS7/Y++2ds9kEAlL+VjiNbjUXKmlwnsNA ESVNJQ22NlBTkdtTiCp2il/YPM51vp/0d7V5pBcYACuXH9lmFUoZSKkNG9aXHjrZ6wKu uGoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date; bh=l8t8yzAqflo8HzStrmP7vMj1pytZ2vGBskACfVL8dno=; b=QQrYlREsrwQ4YXwH+7Jvvkxae2Mohmy6UBdlh8sNhQGpeOnbY0G40/IX50M0RkFdy5 Un/Ul2eJC/sdQrLigzSW7Uirn/gc28z4BF1gk7IpjJONUsgEKl+t5QW1Gi/z6hp6p0oy 6GQACj406hySvQdUQnw+gQ3Xhzp+lUcf7BhFkezEBdLQe2W3yQqJqaZ079n4fm+RJPPq WRMH1K0M9LIzE6SW+Z7ZYnuV2H8d/Uzf1Z3zE+Z+UfjIwvsxjHUlrVbsIvsuq97VTPMm yDp6yvIm51o8OoUI3cdRaF66FIC+eCA1+x4HASq+GWduE/qXYITa9RF5lxIUITFDdfae jXxg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r24si2253887pfh.257.2019.08.29.04.16.21; Thu, 29 Aug 2019 04:16:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727072AbfH2LP2 (ORCPT + 99 others); Thu, 29 Aug 2019 07:15:28 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:59992 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726232AbfH2LP1 (ORCPT ); Thu, 29 Aug 2019 07:15:27 -0400 Received: from localhost (unknown [IPv6:2a01:e0a:2c:6930:5cf4:84a1:2763:fe0d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: bbrezillon) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 18C5527900A; Thu, 29 Aug 2019 12:15:24 +0100 (BST) Date: Thu, 29 Aug 2019 13:15:19 +0200 From: Boris Brezillon To: Vitor Soares Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-i3c@lists.infradead.org, bbrezillon@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, Joao.Pinto@synopsys.com Subject: Re: [PATCH 4/4] i3c: master: dw: reattach device on first available location of address table Message-ID: <20190829131519.3f420c64@collabora.com> In-Reply-To: References: Organization: Collabora X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 29 Aug 2019 12:19:35 +0200 Vitor Soares wrote: > For today the reattach function only update the device address on the > controller. > > Update the location to the first available too, will optimize the > enumeration process avoiding additional checks to keep the available > positions on address table consecutive. Given the number of available slots I honestly don't think it makes a difference, but I also don't mind this change, so Reviewed-by: Boris Brezillon > > Signed-off-by: Vitor Soares > --- > drivers/i3c/master/dw-i3c-master.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c > index 1d83c97..62261ac 100644 > --- a/drivers/i3c/master/dw-i3c-master.c > +++ b/drivers/i3c/master/dw-i3c-master.c > @@ -898,6 +898,22 @@ static int dw_i3c_master_reattach_i3c_dev(struct i3c_dev_desc *dev, > struct dw_i3c_i2c_dev_data *data = i3c_dev_get_master_data(dev); > struct i3c_master_controller *m = i3c_dev_get_master(dev); > struct dw_i3c_master *master = to_dw_i3c_master(m); > + int pos; > + > + pos = dw_i3c_master_get_free_pos(master); > + > + if (data->index > pos && pos > 0) { > + writel(0, > + master->regs + > + DEV_ADDR_TABLE_LOC(master->datstartaddr, data->index)); > + > + master->addrs[data->index] = 0; > + master->free_pos |= BIT(data->index); > + > + data->index = pos; > + master->addrs[pos] = dev->info.dyn_addr; > + master->free_pos &= ~BIT(pos); > + } > > writel(DEV_ADDR_TABLE_DYNAMIC_ADDR(dev->info.dyn_addr), > master->regs +