cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

via_aux_sii164.c (834B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 * Copyright 2011 Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      4 */
      5/*
      6 * driver for Silicon Image SiI 164 PanelLink Transmitter
      7 */
      8
      9#include <linux/slab.h>
     10#include "via_aux.h"
     11
     12
     13static const char *name = "SiI 164 PanelLink Transmitter";
     14
     15
     16static void probe(struct via_aux_bus *bus, u8 addr)
     17{
     18	struct via_aux_drv drv = {
     19		.bus	=	bus,
     20		.addr	=	addr,
     21		.name	=	name};
     22	/* check vendor id and device id */
     23	const u8 id[] = {0x01, 0x00, 0x06, 0x00}, len = ARRAY_SIZE(id);
     24	u8 tmp[ARRAY_SIZE(id)];
     25
     26	if (!via_aux_read(&drv, 0x00, tmp, len) || memcmp(id, tmp, len))
     27		return;
     28
     29	printk(KERN_INFO "viafb: Found %s at address 0x%x\n", name, addr);
     30	via_aux_add(&drv);
     31}
     32
     33void via_aux_sii164_probe(struct via_aux_bus *bus)
     34{
     35	u8 i;
     36
     37	for (i = 0x38; i <= 0x3F; i++)
     38		probe(bus, i);
     39}