Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp734089imm; Wed, 8 Aug 2018 05:00:18 -0700 (PDT) X-Google-Smtp-Source: AA+uWPxMDgs4RSe3WrsSpigXtnX6kSf8GhR9x3IhqedxKBkK+YEqnP6h1jyFiIsQZYsoy4TkJa3l X-Received: by 2002:a17:902:934a:: with SMTP id g10-v6mr2324618plp.121.1533729618076; Wed, 08 Aug 2018 05:00:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533729618; cv=none; d=google.com; s=arc-20160816; b=HIxsYCbKkvY/trodRSZPM+P9YzWD9mfGTs/Jjb2+LuWziAgbLTQRnNbr7VXAnjgjat UKutTZHGz6t8kAq3lr4LPJ5D8LMy0jYeXSKbW0mNYAUlsNSVUOn3suXVppcvIGDQm8Fn cxh/+VP22peX4JUrSCp3NzbHxIIANr5ZoFc7zzHIvHkTcVzNebwJGQqovXeEJ8iZsCTH ExA45/Z2YE4Pm5adakt8zIMjpfGk56uMiB9I7m5hmpv8IAB3JCXBs/i+ciGMKjHDuMGU 1GSJDS+rnD5CJBJfPvx1ftNbKg2U22pFq+4ecqibplZGL8VasLut2ElP8rqjndiRxJ/S RkRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature :arc-authentication-results; bh=nY4S1fLrXBXnN/L/BkGkAvPh7zunDZ9Nidc5Hkaw5PY=; b=nBX/fLqwNX8UIuinHC/C7JzM9vqWg0jZ6eRUSLLJyS+8B4oe92kS9XayBw99dz/UT4 GNaN1Ffb7KuhDcu5AAJ3YY4D3zocNq1dheAk20hbswCcJSmx+M02CdKlPu8D5StO3ddx 2EhQmQmlFdkUX7gO8iZPLdzNXJ2A74X0q9qn+5g494Nv35A5wSjVn92GUmatWJqF5cU+ E0RLwK7LnWoukL1oniSfzaz7bIP7EnjyT7Ds0WzNredQ5Fox8OxAPAWXLm5h1R3xzY/s 9UqU3y6obe5JZQOCYxG/uvUjCetkrDnK0V5lMwpCaV1BTi4bKzHJv2WsP3Tj+I4C2j7S 9Osw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ZLQ3E5JD; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x6-v6si3251689pgv.669.2018.08.08.05.00.02; Wed, 08 Aug 2018 05:00:18 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ZLQ3E5JD; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727137AbeHHOS2 (ORCPT + 99 others); Wed, 8 Aug 2018 10:18:28 -0400 Received: from mail-lj1-f194.google.com ([209.85.208.194]:32875 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727035AbeHHOS2 (ORCPT ); Wed, 8 Aug 2018 10:18:28 -0400 Received: by mail-lj1-f194.google.com with SMTP id s12-v6so1519169ljj.0; Wed, 08 Aug 2018 04:59:05 -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=nY4S1fLrXBXnN/L/BkGkAvPh7zunDZ9Nidc5Hkaw5PY=; b=ZLQ3E5JDYn6mvBiX7ACtST/ug+ek+7WJEzgeFsS20OHXxBy5cVau0dGXB+lEJeR7KP u9qpZVA2ITs5DJgyrshsEGD8kLhJqGH9LOKIq0rB5CiMi8zGLcsK43o+1feJREY5FowM Qsz1wV3uqV/xbr/Hu0hL0RBCWjbPDx7mAzdQUU39FNyK8xHkFyPSJ3rwRuAKCjF3VA0L iIQO3yxpJGMlwbSe31yJ2kVXLnA376OInviukw7Gp+fH41apUyVJAS0EIpdk1K3zN05p njho3UTeqNMTME5PZtXwTZVPKyOpvxIyBX9XBmYhCVBnnYR8kBHG2fF+Ge8hJqPtM2Xv ZWcw== 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=nY4S1fLrXBXnN/L/BkGkAvPh7zunDZ9Nidc5Hkaw5PY=; b=FG5ACPDqhZDqN3peiWlGGHWOrQVPFWEh3c/S4d+IOWcanC9jedRjDzFSIWyEzsiu0o EVuc09vZxjcTunvUOlOVItdfOnzy1iF0KnlYX9pzi6kb4w22I5IyftZtR/DlKnouxj/X jW9ptDUZe+bzsB3/6/7xvJZmagr6Uf8Gybo7Jjy8BwoW3gbAqDPyUy/JA32JUX/5JeXZ 5D/V9gZtyYDnDRve17z1o/Etet3UAQkR6nLQmfUa6VlBpM7M791ljrtrGe+F7jc0fpUo bjuUKHVdeX+ScZUsR2xw9GQx/4vidC5ECGnZuMoaZKYWW4hrXi30Dn9xWzhTTsKariZQ f3/w== X-Gm-Message-State: AOUpUlE/aHddpqZFLfTPCiL6ZZxxc4xL2x/X9fAQtBqv/Jky5BXrgIVJ P9U5LIFapa4/pAHHwnmywWyyLuDa0mzXIiXyG0E= X-Received: by 2002:a2e:9a16:: with SMTP id o22-v6mr2006106lji.17.1533729544509; Wed, 08 Aug 2018 04:59:04 -0700 (PDT) MIME-Version: 1.0 References: <20180808071421.32707-1-simon.k.r.goldschmidt@gmail.com> In-Reply-To: From: Simon Goldschmidt Date: Wed, 8 Aug 2018 13:58:35 +0200 Message-ID: Subject: Re: [PATCH] spi: dw: support 4-16 bits per word To: andy.shevchenko@gmail.com Cc: Mark Brown , linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org 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 On Wed, Aug 8, 2018 at 11:45 AM Andy Shevchenko wrote: > > On Wed, Aug 8, 2018 at 10:14 AM, Simon Goldschmidt > wrote: > > The spi-dw driver currently only supports 8 or 16 bits per word. > > > > Since the hardware supports 4-16 bits per word, adapt the driver > > to also support this. > > > > Tested on socfpga cyclone5 with a 9-bit SPI display. > > > + if ((transfer->bits_per_word < 4) || (transfer->bits_per_word > 16)) > > + return -EINVAL; > > > + if (transfer->bits_per_word <= 8) { > > dws->n_bytes = 1; > > dws->dma_width = 1; > > - } else if (transfer->bits_per_word == 16) { > > + } else { > > dws->n_bytes = 2; > > dws->dma_width = 2; > > } > > Now these can be just > > n_bytes = round_up(8); > dma_width = round_up(8); I guess you mean: n_bytes = round_up(transfer->bits_per_word, 8); But that would yield 8 or 16 where we need 1 or 2. Reading spi-imx.c, this might work: n_bytes = DIV_ROUND_UP(transfer->bits_per_word, BITS_PER_BYTE); Simon