From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 78ACFC0650F for ; Tue, 30 Jul 2019 14:00:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3EE80206E0 for ; Tue, 30 Jul 2019 14:00:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Pyq1/qjp" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729391AbfG3OAp (ORCPT ); Tue, 30 Jul 2019 10:00:45 -0400 Received: from mail-lf1-f44.google.com ([209.85.167.44]:35853 "EHLO mail-lf1-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727323AbfG3OAo (ORCPT ); Tue, 30 Jul 2019 10:00:44 -0400 Received: by mail-lf1-f44.google.com with SMTP id q26so44828250lfc.3; Tue, 30 Jul 2019 07:00:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=bMy8+dulgQaBaijk1anMSQXHRDRkHWnBbw4vTm4odwg=; b=Pyq1/qjpp/VnceAmo91bY/5v35EmOlekZhGI+oMmsRxIqAvoPOD9Yo9OcSVVpWZHEf FMlqCrRAqSHFqN4Z4iSYPrN+f/ZqNM8iF8BXhr0ww6CrQsPfdzmmBSkR7kQD6I9IMXv8 htF1xk2D3gMHeIBwHvfAjSs4ntFv5oY54sHfkucZjV1TESC3ZFlcJJvy+SwMqiFo7WI7 5X87VF5aZLU/nMHMROQ5kcu2yaIR/kj96yVG9ggOS82VIpPeW+Qfh4HdsTN3w9JPBXt7 quVkv+Div03d37lxJwvUbgHTjWRUaHOcEvKxoUGdqZv3wubjk8xv+qf5LKf95RjpyuCU jN/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=bMy8+dulgQaBaijk1anMSQXHRDRkHWnBbw4vTm4odwg=; b=O5jNJJ3eTBkPmFD0h5l69icm6IZAPvGzAjv0B3Ah5Vbvw3Uu5N8v1bT2C68jeHidor Tdw/a2F4trFkjU4YZKxGdm79okK9LNxs/nhprLSABJPk0OPi9r2NTCmoCiV1QZwrhY0Q 3ilhBTeqJY8iwXEnQyRjJfAkRZNGqqgYHG6PRYpcactjIGeGLN4BzT7TACIpmR193tOW i0H2u7BuXxtwg8ETmu6YizXn4r/ShbhvYpA3XKQGcEb0FaYHwwUJf8NiS9348uQ1Xexl WiUGS4oMxt2YxUYB8tOGJ0A/lvAgFItDccMuuMKHSSie7NPT9UeflcR2o0Am+F5Te+yQ ZieA== X-Gm-Message-State: APjAAAXi5lqnRzdKkI7q0hLv57F1ZhUOwzqsUYYAAHk7jIVNw1UVo25c IvzQOylZEoQiELUhmpBP4CWq2XC018elfZdQ/tE= X-Google-Smtp-Source: APXvYqwFxU2aJZupq15tPMGGPhkUeiRbVX/Ny/AeH8PilgWZ6eMHMSsYLghdUHcVU7IvMo2OXna8FsoXwIfybTJwoN4= X-Received: by 2002:ac2:5382:: with SMTP id g2mr53150361lfh.92.1564495242574; Tue, 30 Jul 2019 07:00:42 -0700 (PDT) MIME-Version: 1.0 References: <20190730100429.32479-1-h.feurstein@gmail.com> <20190730100429.32479-2-h.feurstein@gmail.com> <20190730134924.GH28552@lunn.ch> In-Reply-To: <20190730134924.GH28552@lunn.ch> From: Hubert Feurstein Date: Tue, 30 Jul 2019 16:00:31 +0200 Message-ID: Subject: Re: [PATCH 1/4] net: dsa: mv88e6xxx: add support for MV88E6220 To: Andrew Lunn Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Vivien Didelot , Florian Fainelli , "David S. Miller" , Rasmus Villemoes Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Andrew, [...] > Do the registers for the ports exist? Yes, they do and they return sane values. > > + [MV88E6220] = { > > + .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6220, > > + .family = MV88E6XXX_FAMILY_6250, > > + .name = "Marvell 88E6220", > > + .num_databases = 64, > > + > > + /* Ports 2-4 are not routed to pins > > + * => usable ports 0, 1, 5, 6 > > + */ > > + .num_ports = 7, > > I'm wondering if we should add something like > > .invalid_port_mask = BIT(2) | BIT(3) | BIT(4) > Would make sense. I'll add it to the next series. > > and > > /* Setup Switch Port Registers */ > for (i = 0; i < mv88e6xxx_num_ports(chip); i++) { > + if (chip->info->invalid_port_mask & BIT(i) && > + !dsa_is_unused_port(ds, i)) > + return -EINVAL; > if (dsa_is_unused_port(ds, i)) { > err = mv88e6xxx_port_set_state(chip, i, > BR_STATE_DISABLED); > > Andrew Hubert