[radeon-alex:drm-next-4.20-wip 168/184] drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.c:809:67: sparse: dubious: x | !y

kbuild test robot lkp at intel.com
Tue Aug 21 23:58:23 UTC 2018


tree:   git://people.freedesktop.org/~agd5f/linux.git drm-next-4.20-wip
head:   2034a5eca0c640259d13dbd4c29ca8ce712055cc
commit: 14dc68a3fb45425643b608aee8c4fb9f7145c99e [168/184] drm/amd/display: Create new i2c resource
reproduce:
        # apt-get install sparse
        git checkout 14dc68a3fb45425643b608aee8c4fb9f7145c99e
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

   drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.c:89:6: sparse: symbol 'dce_i2c_hw_engine_acquire_engine' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.c:113:6: sparse: symbol 'dce_i2c_engine_acquire_hw' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.c:301:35: sparse: symbol 'dce_i2c_hw_engine_wait_on_operation_result' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.c:369:10: sparse: symbol 'get_reference_clock' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.c:677:6: sparse: symbol 'dce_i2c_hw_engine_submit_request' was not declared. Should it be static?
>> drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.c:809:67: sparse: dubious: x | !y
--
   drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_sw.c:73:35: sparse: symbol 'dce_i2c_sw_engine_get_channel_status' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_sw.c:371:6: sparse: symbol 'dce_i2c_sw_engine_set_speed' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_sw.c:385:6: sparse: symbol 'dce_i2c_sw_engine_acquire_engine' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_sw.c:401:6: sparse: symbol 'dce_i2c_engine_acquire_sw' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_sw.c:429:6: sparse: symbol 'dce_i2c_sw_engine_submit_channel_request' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_sw.c:472:6: sparse: symbol 'dce_i2c_sw_engine_submit_request' was not declared. Should it be static?
>> drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_sw.c:566:67: sparse: dubious: x | !y

vim +809 drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.c

   782	
   783	bool dce_i2c_submit_command_hw(
   784		struct resource_pool *pool,
   785		struct ddc *ddc,
   786		struct i2c_command *cmd,
   787		struct dce_i2c_hw *dce_i2c_hw)
   788	{
   789		uint8_t index_of_payload = 0;
   790		bool result;
   791	
   792		dce_i2c_hw->funcs->set_speed(dce_i2c_hw, cmd->speed);
   793	
   794		result = true;
   795	
   796		while (index_of_payload < cmd->number_of_payloads) {
   797			bool mot = (index_of_payload != cmd->number_of_payloads - 1);
   798	
   799			struct i2c_payload *payload = cmd->payloads + index_of_payload;
   800	
   801			struct dce_i2c_transaction_request request = { 0 };
   802	
   803			request.operation = payload->write ?
   804				DCE_I2C_TRANSACTION_WRITE :
   805				DCE_I2C_TRANSACTION_READ;
   806	
   807			request.payload.address_space =
   808				DCE_I2C_TRANSACTION_ADDRESS_SPACE_I2C;
 > 809			request.payload.address = (payload->address << 1) |
   810				!payload->write;
   811			request.payload.length = payload->length;
   812			request.payload.data = payload->data;
   813	
   814	
   815			if (!dce_i2c_hw_engine_submit_request(
   816					dce_i2c_hw, &request, mot)) {
   817				result = false;
   818				break;
   819			}
   820	
   821	
   822	
   823			++index_of_payload;
   824		}
   825	
   826		release_engine_dce_hw(pool, dce_i2c_hw);
   827	
   828		return result;
   829	}
   830	static const struct dce_i2c_hw_funcs dce100_i2c_hw_funcs = {
   831			.setup_engine = setup_engine_hw_dce100,
   832			.set_speed = set_speed_hw_dce100,
   833			.get_speed = get_speed_hw,
   834			.release_engine = release_engine_hw,
   835			.process_transaction = process_transaction_hw_dce100,
   836			.process_channel_reply = process_channel_reply_hw_dce100,
   837			.is_hw_busy = is_hw_busy,
   838			.get_channel_status = get_channel_status_hw,
   839			.execute_transaction = execute_transaction_hw,
   840			.disable_i2c_hw_engine = disable_i2c_hw_engine
   841	};
   842	static const struct dce_i2c_hw_funcs dce80_i2c_hw_funcs = {
   843			.setup_engine = setup_engine_hw_dce80,
   844			.set_speed = set_speed_hw_dce80,
   845			.get_speed = get_speed_hw,
   846			.release_engine = release_engine_hw,
   847			.process_transaction = process_transaction_hw_dce80,
   848			.process_channel_reply = process_channel_reply_hw_dce80,
   849			.is_hw_busy = is_hw_busy,
   850			.get_channel_status = get_channel_status_hw,
   851			.execute_transaction = execute_transaction_hw,
   852			.disable_i2c_hw_engine = disable_i2c_hw_engine
   853	};
   854	
   855	
   856	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


More information about the dri-devel mailing list