lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4dc6fb16-3d85-4a7f-85f9-ed249da0df1a@redhat.com>
Date: Fri, 5 Apr 2024 18:15:06 +0200
From: Danilo Krummrich <dakr@...hat.com>
To: Easwar Hariharan <eahariha@...ux.microsoft.com>,
 Karol Herbst <kherbst@...hat.com>, Lyude Paul <lyude@...hat.com>,
 David Airlie <airlied@...il.com>, Daniel Vetter <daniel@...ll.ch>,
 "open list:DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS"
 <dri-devel@...ts.freedesktop.org>,
 "open list:DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS"
 <nouveau@...ts.freedesktop.org>, open list <linux-kernel@...r.kernel.org>
Cc: Wolfram Sang <wsa+renesas@...g-engineering.com>,
 "open list:RADEON and AMDGPU DRM DRIVERS" <amd-gfx@...ts.freedesktop.org>,
 "open list:INTEL DRM DISPLAY FOR XE AND I915 DRIVERS"
 <intel-gfx@...ts.freedesktop.org>,
 "open list:INTEL DRM DISPLAY FOR XE AND I915 DRIVERS"
 <intel-xe@...ts.freedesktop.org>,
 "open list:I2C SUBSYSTEM HOST DRIVERS" <linux-i2c@...r.kernel.org>,
 "open list:BTTV VIDEO4LINUX DRIVER" <linux-media@...r.kernel.org>,
 "open list:FRAMEBUFFER LAYER" <linux-fbdev@...r.kernel.org>
Subject: Re: [PATCH v0 13/14] drm/nouveau: Make I2C terminology more inclusive

Hi Easwar,

On 3/29/24 18:00, Easwar Hariharan wrote:
> I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave"
> with more appropriate terms. Inspired by and following on to Wolfram's
> series to fix drivers/i2c/[1], fix the terminology for users of
> I2C_ALGOBIT bitbanging interface, now that the approved verbiage exists
> in the specification.
> 
> Compile tested, no functionality changes intended
> 
> [1]: https://lore.kernel.org/all/20240322132619.6389-1-wsa+renesas@sang-engineering.com/
> 
> Signed-off-by: Easwar Hariharan <eahariha@...ux.microsoft.com>
> ---
>   drivers/gpu/drm/nouveau/dispnv04/dfp.c             | 14 +++++++-------
>   .../gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h |  2 +-
>   drivers/gpu/drm/nouveau/nouveau_bios.c             |  4 ++--
>   3 files changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/dispnv04/dfp.c b/drivers/gpu/drm/nouveau/dispnv04/dfp.c
> index d5b129dc623b..65b791006b19 100644
> --- a/drivers/gpu/drm/nouveau/dispnv04/dfp.c
> +++ b/drivers/gpu/drm/nouveau/dispnv04/dfp.c
> @@ -149,7 +149,7 @@ void nv04_dfp_update_fp_control(struct drm_encoder *encoder, int mode)
>   	}
>   }
>   
> -static struct drm_encoder *get_tmds_slave(struct drm_encoder *encoder)
> +static struct drm_encoder *get_tmds_client(struct drm_encoder *encoder)
>   {
>   	struct drm_device *dev = encoder->dev;
>   	struct dcb_output *dcb = nouveau_encoder(encoder)->dcb;
> @@ -172,7 +172,7 @@ static struct drm_encoder *get_tmds_slave(struct drm_encoder *encoder)
>   		struct dcb_output *slave_dcb = nouveau_encoder(slave)->dcb;
>   
>   		if (slave_dcb->type == DCB_OUTPUT_TMDS && get_slave_funcs(slave) &&
> -		    slave_dcb->tmdsconf.slave_addr == dcb->tmdsconf.slave_addr)
> +		    slave_dcb->tmdsconf.client_addr == dcb->tmdsconf.client_addr)
>   			return slave;

While, personally, I think master/slave was well suiting for the device relationship
on those busses, I think that if we change it up to conform with the change in
specification, we should make sure to update drivers consistently.

We should make sure to also change the names of the sourrounding structures and variable
names, otherwise we just make this code harder to read.

- Danilo

>   	}
>   
> @@ -471,7 +471,7 @@ static void nv04_dfp_commit(struct drm_encoder *encoder)
>   		NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + nv04_dac_output_offset(encoder), 0x00100000);
>   
>   	/* Init external transmitters */
> -	slave_encoder = get_tmds_slave(encoder);
> +	slave_encoder = get_tmds_client(encoder);
>   	if (slave_encoder)
>   		get_slave_funcs(slave_encoder)->mode_set(
>   			slave_encoder, &nv_encoder->mode, &nv_encoder->mode);
> @@ -621,7 +621,7 @@ static void nv04_dfp_destroy(struct drm_encoder *encoder)
>   	kfree(nv_encoder);
>   }
>   
> -static void nv04_tmds_slave_init(struct drm_encoder *encoder)
> +static void nv04_tmds_client_init(struct drm_encoder *encoder)
>   {
>   	struct drm_device *dev = encoder->dev;
>   	struct dcb_output *dcb = nouveau_encoder(encoder)->dcb;
> @@ -632,7 +632,7 @@ static void nv04_tmds_slave_init(struct drm_encoder *encoder)
>   		{
>   		    {
>   		        .type = "sil164",
> -		        .addr = (dcb->tmdsconf.slave_addr == 0x7 ? 0x3a : 0x38),
> +		        .addr = (dcb->tmdsconf.client_addr == 0x7 ? 0x3a : 0x38),
>   		        .platform_data = &(struct sil164_encoder_params) {
>   		            SIL164_INPUT_EDGE_RISING
>   		         }
> @@ -642,7 +642,7 @@ static void nv04_tmds_slave_init(struct drm_encoder *encoder)
>   	};
>   	int type;
>   
> -	if (!nv_gf4_disp_arch(dev) || !bus || get_tmds_slave(encoder))
> +	if (!nv_gf4_disp_arch(dev) || !bus || get_tmds_client(encoder))
>   		return;
>   
>   	type = nvkm_i2c_bus_probe(bus, "TMDS transmitter", info, NULL, NULL);
> @@ -716,7 +716,7 @@ nv04_dfp_create(struct drm_connector *connector, struct dcb_output *entry)
>   
>   	if (entry->type == DCB_OUTPUT_TMDS &&
>   	    entry->location != DCB_LOC_ON_CHIP)
> -		nv04_tmds_slave_init(encoder);
> +		nv04_tmds_client_init(encoder);
>   
>   	drm_connector_attach_encoder(connector, encoder);
>   	return 0;
> diff --git a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h
> index 73f9d9947e7e..5da40cf74b1a 100644
> --- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h
> +++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/dcb.h
> @@ -50,7 +50,7 @@ struct dcb_output {
>   		} dpconf;
>   		struct {
>   			struct sor_conf sor;
> -			int slave_addr;
> +			int client_addr;
>   		} tmdsconf;
>   	};
>   	bool i2c_upper_default;
> diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
> index 479effcf607e..a91a5d3df3ca 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_bios.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
> @@ -1511,9 +1511,9 @@ parse_dcb20_entry(struct drm_device *dev, struct dcb_table *dcb,
>   			link = entry->tmdsconf.sor.link;
>   		}
>   		else if (dcb->version >= 0x30)
> -			entry->tmdsconf.slave_addr = (conf & 0x00000700) >> 8;
> +			entry->tmdsconf.client_addr = (conf & 0x00000700) >> 8;
>   		else if (dcb->version >= 0x22)
> -			entry->tmdsconf.slave_addr = (conf & 0x00000070) >> 4;
> +			entry->tmdsconf.client_addr = (conf & 0x00000070) >> 4;
>   		break;
>   	case DCB_OUTPUT_EOL:
>   		/* weird g80 mobile type that "nv" treats as a terminator */


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ