Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp456657ybb; Wed, 8 Apr 2020 03:23:35 -0700 (PDT) X-Google-Smtp-Source: APiQypKQrfdCsdHJaUV33+QjY8tup8MVg3UZ3IoAUb8iVBcn6dBYDiI2oWeU7ONGYH+v31XbU3L/ X-Received: by 2002:aca:5c44:: with SMTP id q65mr1866726oib.139.1586341414795; Wed, 08 Apr 2020 03:23:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586341414; cv=none; d=google.com; s=arc-20160816; b=W7URVCrbm+563I1KvsokS+0aAg4scpiWzFle+VA3Y94hV6DHSvNKN4t3qoH/lJWsrD edEBgTV2pFws4dQI1tXbFqvuv5jKU7FAbsNTLS3ZpgN2JJLd2F9eUtK02mpQcMR9qcbt 8GZeQgX032VSdACJsd5yem/vWU5I5PpC1lC8ugZcrKJolQz6FuzYnjZ5DQSHEmAoXPWt U47y+l6EulZ6Gm7/M9d7haE6Fbok7MiVTDpyv4qGiUgm44r/tTEZQzu3MiwFoOy7H6BJ NahP29pAhXAYwlP03+pcapt7/TST0CzTpco+v8PTFJoiRbMTljDh50SjdZtXptV3JaUH lqZA== 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=c5tDmWPKvOGdgVsfwMB+hxDi3FlboHnUb4N0LYN6QOA=; b=AAVtTKERXu58vmv2Kz+SUCon0UHf2mbDRNQR/I8rQfLZPOfUf1c7R1QKagGRkxqZUq FOGiARnCmwv28+ldaU28LjPp70wMH4Vk2AwYpkcmMpiCeBEG40PmqozdhXpHRMBA/0l6 7eu4kJW66O2o4ZzwxpPNIu6MkwA0ThjacqrjKHiwqONYkw79Ex/Z+kB7DRnx9+TPUFsy LT7g/C6w9TyPs6GmqJTm77HOD6mxyuLzgfZ6Z6mVWMGlyS5xNxSLOpXfAApt3Cs4COYT EJTbOvS9TfMxwxajl1ZQt6K6n6MP6FyBnzBilIKTxVbbGmmXEiMKZiEWbiGW05k4mSC6 UjZA== 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 c2si3067717ots.188.2020.04.08.03.23.20; Wed, 08 Apr 2020 03:23:34 -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 S1728113AbgDHKE0 (ORCPT + 99 others); Wed, 8 Apr 2020 06:04:26 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:49870 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725932AbgDHKE0 (ORCPT ); Wed, 8 Apr 2020 06:04:26 -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 4960528E176; Wed, 8 Apr 2020 11:04:24 +0100 (BST) Date: Wed, 8 Apr 2020 12:04:18 +0200 From: Boris Brezillon To: Parshuram Thombare Cc: , , mparab@cadence.com, pgaj@cadence.com, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1 0/3] I3C mastership handover support Message-ID: <20200408120418.0d5235a6@collabora.com> In-Reply-To: <1586211645-8065-1-git-send-email-pthombar@cadence.com> References: <1586211645-8065-1-git-send-email-pthombar@cadence.com> Organization: Collabora X-Mailer: Claws Mail 3.17.5 (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 Hi Parshuram, On Tue, 7 Apr 2020 00:20:45 +0200 Parshuram Thombare wrote: > Hi, > > This patch series is to enable mastership handover feature in I3C > master subsystem and Cadence's I3C controller driver. It's definitely not the first version (as implied in the subject), and I'd like a proper changelog detailing what has changed since the last version (the one sent by Przemek). Thanks, Boris > > > [PATCH 1/3] > i3c: master: split bus_init callback into bus_init and master_set_info > There are 2 reasons for this split > Currently bus_init callback is involved in > a. Controller specific settings such as clock prescalar, enabling > different functionalities and finally enabling the controller. > b. Allocating address to the main master and calling > i3c_master_set_info, which basically create a I3C device for master > and add it to system. This is fine for main master, but for > secondary master this should be deferred until controller actually > owns the bus/mastership. > > Another reason is, to support secondary master initialization without > board info, controller specific bus mode setting need to be done twice > First with pure bus mode and second time when actual bus mode is known > based on data received through DEFSLVS, whereas master set info is > supposed to be done only once. > > [PATCH 2/3] > i3c: add mastership handover support to i3c master subsystem > This patch add mastership handover support as per MIPI I3C > spec v1.0. Main master and secondary masters starts in pure > bus mode to allow enumeration (DAA) to happen in same bus mode. > Secondary masters are not required to have information about > other devices connected on the bus through board info, this > information is derived from DEFSLVS received from main > master. While acquiring mastership, requesting master always > make sure that it has active dynamic address, and received > DEFSLVS at least once. Mastership request state machine > make sure that any pending DEFSLVS is processed, so that > when device become master it always have correct view > of the bus. > > [PATCH 3/3] > i3c: master: add mastership handover support to cdns i3c master driver > This patch adds mastership handover support to the Cadence > I3C controller driver. Basically, this include necessary > callbacks for mastership request. > > Regards, > Parshuram Thombare > > Parshuram Thombare (3): > i3c: master: split bus_init callback into bus_init and master_set_info > i3c: add mastership handover support to i3c master subsystem > i3c: master: add mastership handover support to cdns i3c master driver > > drivers/i3c/master.c | 490 ++++++++++++++++++++++++--- > drivers/i3c/master/dw-i3c-master.c | 29 +- > drivers/i3c/master/i3c-master-cdns.c | 385 ++++++++++++++++++--- > include/linux/i3c/master.h | 47 ++- > 4 files changed, 854 insertions(+), 97 deletions(-) >