Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp903615pxb; Tue, 1 Feb 2022 12:50:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJw6SGk5s/6bmEbYCDWjbpaDcvugNZ0VDSQVBTKSVA1jTg0nD4JTywQiAndPTXMtDj4VYzZx X-Received: by 2002:a65:6651:: with SMTP id z17mr21810017pgv.259.1643748615149; Tue, 01 Feb 2022 12:50:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643748615; cv=none; d=google.com; s=arc-20160816; b=xhsNM3dBZa3VEJ+XvQ+OjbKLPNRJinGg5yamFYvF9PereftuFRNq70Aj9omoo5GL9f ku+4TYflcUar7c3K9WG9r/TqHlBwZ+rI0EVdeSjR3+gypEUAiZh0HUJMQ5f6ZFVCnMcE Pz015bZLLErQ9E1pThMcs2sAZx+tjZI3rZ5EZ7A63g4t8B9ZpOw5F5gNlLgDFDhzuHgJ k0wCBUefQ/KI+4RHPux7tl1Mj3LGtxAakNzF4rYXZVHx38d6OeFP8A6rig1urbezZjFT Mvx5xjq7A8yOHoCYSrys9QxdONn+O2Gjcs9VMJhGuK3NC8Ccl2Gk9TE4Tv+aCRpAUcWj zHBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=cCZTFH2Jz9n7CnT5wyJgHCMwnAI//gCfT+1J887Hbp8=; b=FIz9v2Z9N88gUuW1V+yzh1GugDVbGesswyFvGR683/jLFSNCPK1EjxkXBOXRa+Jt2D JnUhCfCHWTSBgL7CSNMlKp7t/tFjrS2GjjQYJWuy3MSAnLyFVvMNX2yoq82w+HKhn3uk SjP6otN5XvSx7+R+mrFgJf92yoEtqI+eLSvynEzmxmsAiHx2nfIRGd9pgsBs3SK4ZNbH OtHLJ82qrBDDTYJEHLwQzBfyv+8iI3L9eTqZ7nfLz/dXQvN95w9ZZo/F/roLZyvrNyqn pQ7gvwRIaT2O/dqyTKuzxO7uKbqMNrN7DgDg52ImNcqPwk2IEXlB0dwkV1i9s3uzPoNe pAkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=KCS28XXI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n2si5155558plc.309.2022.02.01.12.50.03; Tue, 01 Feb 2022 12:50:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=KCS28XXI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378070AbiAaUMt (ORCPT + 99 others); Mon, 31 Jan 2022 15:12:49 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:54964 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378144AbiAaUMm (ORCPT ); Mon, 31 Jan 2022 15:12:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1643659962; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cCZTFH2Jz9n7CnT5wyJgHCMwnAI//gCfT+1J887Hbp8=; b=KCS28XXIetTekTMg2A/bj4cNrmUp7ZCdcI9azNk28A7OSkcucZBBVN+c7MV4rSNg4/8h3A X7Yttif8nEulITO0eI6rXx+Jk6p9UkS9tEIOZcQCUj8dDZXnQqCq934CyTO7mV4DT/aS6Q tcI14uVRWA0o2Gza+ZDbI4lMOJRQ4Ig= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-628-qAnUNmoiM0akpxVL3T5lWQ-1; Mon, 31 Jan 2022 15:12:40 -0500 X-MC-Unique: qAnUNmoiM0akpxVL3T5lWQ-1 Received: by mail-wr1-f72.google.com with SMTP id z1-20020adfbbc1000000b001df54394cebso4428554wrg.20 for ; Mon, 31 Jan 2022 12:12:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cCZTFH2Jz9n7CnT5wyJgHCMwnAI//gCfT+1J887Hbp8=; b=Iz7xNqAzg2W+W6zwGjrb+tJAkgL/LzBksor00uABap1yuM1yGO3a5lmA+RDsuRh88k 362J72OEBXqthr7Epo4QPeUFXull4CdQUbcqnl09x4lPXYsQld0rlf11okp2NVTc7GGi STVY5p0aWwusxBRjfnbIfnG4AQCvojjEAPKaQK9avEolpqWyW1N3n3DQlA4c5Y+CD6tB emf2PoaSseCtaf0ozc55NBclFN0C+AbQP+eV+CDKjt/lChTc4euj0q3eeLsyDEvWOg1u GOZ24nAzrW7MjZ6OJHITt9DddsR2idprpeY+9sqFnjHaajf0ETov5lLCfJ+rWTjPZbY8 3cLQ== X-Gm-Message-State: AOAM5323qFtsTExq8zqAw2olXsRTpRpxQZiwzTXqMeJor14KS86XwdvL WjgIfLGBEZGb1/P4goFDwTEPaDNmY4fR2UTn20QpmsD6FY8mN/i3CMzI+PNhoFkWH/C6B/bV5/b UH4JwiTY6Uao6LP9rVb1+gAdGOxF8lg9wkIn1Kjh6FFdk01JLGkC7Bv25STqSbDQ4Dt4bH+cAKK A= X-Received: by 2002:a05:600c:358d:: with SMTP id p13mr8847549wmq.107.1643659958859; Mon, 31 Jan 2022 12:12:38 -0800 (PST) X-Received: by 2002:a05:600c:358d:: with SMTP id p13mr8847515wmq.107.1643659958507; Mon, 31 Jan 2022 12:12:38 -0800 (PST) Received: from minerva.home ([92.176.231.205]) by smtp.gmail.com with ESMTPSA id i9sm15124660wry.32.2022.01.31.12.12.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Jan 2022 12:12:38 -0800 (PST) From: Javier Martinez Canillas To: linux-kernel@vger.kernel.org Cc: linux-fbdev@vger.kernel.org, Maxime Ripard , Daniel Vetter , Andy Shevchenko , dri-devel@lists.freedesktop.org, =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , Geert Uytterhoeven , Javier Martinez Canillas , Daniel Vetter , David Airlie , Lee Jones , Liam Girdwood , Maarten Lankhorst , Mark Brown , Maxime Ripard , Thierry Reding , Thomas Zimmermann , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , linux-pwm@vger.kernel.org Subject: [PATCH 0/4] drm/tiny: Add driver for Solomon SSD1307 OLED displays Date: Mon, 31 Jan 2022 21:12:20 +0100 Message-Id: <20220131201225.2324984-1-javierm@redhat.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch series adds a DRM driver for the Solomon OLED SSD1305, SSD1306, SSD1307 and SSD1309 displays. It is a port of the ssd1307fb fbdev driver. Using the DRM fb emulation, all the tests from Geert Uytterhoeven's fbtest (https://git.kernel.org/pub/scm/linux/kernel/git/geert/fbtest.git) passes: ./fbtest -f /dev/fb1 Using drawops cfb32 (32 bpp packed pixels) Available visuals: Monochrome Grayscale 256 Truecolor 8:8:8:0 Using visops truecolor Running all tests test001: PASSED test002: PASSED test003: PASSED test004: PASSED test005: PASSED test006: PASSED test008: PASSED test009: PASSED test010: PASSED Benchmarking... 10x10 squares: 412.99 Mpixels/s Benchmarking... 20x20 squares: 857.46 Mpixels/s Benchmarking... 50x50 squares: 1593.51 Mpixels/s test012: PASSED Benchmarking... R5 circles: 237.07 Mpixels/s Benchmarking... R10 circles: 501.24 Mpixels/s Benchmarking... R25 circles: 947.86 Mpixels/s test013: PASSED Patch #1 adds an I2C connector type since currently there isn't one and I2C drivers use DRM_MODE_CONNECTOR_Unknown or DRM_MODE_CONNECTOR_VIRTUAL. Patch #2 adds a drm_fb_gray8_to_mono_reversed() DRM format helper since most DRM/KMS user-space don't support bpp 1 displays, so drivers expose a common format that's converted to greyscale and then to monochrome. Patch #3 adds the driver. The name ssd1307 was used instead of ssd130x (which would be more accurate) to avoid confusion for users who want to migrate from the existing ssd1307fb fbdev driver. Patch #4 just adds a MAINTAINERS entry for this new DRM driver. Best regards, Javier Javier Martinez Canillas (4): drm: Add I2C connector type drm/format-helper: Add drm_fb_gray8_to_mono_reversed() drm/tiny: Add driver for Solomon SSD1307 OLED displays MAINTAINERS: Add entry for Solomon SSD1307 OLED displays DRM driver MAINTAINERS | 7 + drivers/gpu/drm/drm_connector.c | 1 + drivers/gpu/drm/drm_format_helper.c | 35 + drivers/gpu/drm/tiny/Kconfig | 12 + drivers/gpu/drm/tiny/Makefile | 1 + drivers/gpu/drm/tiny/ssd1307.c | 976 ++++++++++++++++++++++++++++ include/drm/drm_format_helper.h | 2 + include/uapi/drm/drm_mode.h | 1 + 8 files changed, 1035 insertions(+) create mode 100644 drivers/gpu/drm/tiny/ssd1307.c -- 2.34.1