Lines Matching +full:inter +full:- +full:data
17 #include <phosphor-logging/lg2.hpp>
18 #include <phosphor-logging/lg2/flags.hpp>
42 #include <linux/i2c-dev.h>
46 * NVMe-MI Basic Management Command
48 …* https://nvmexpress.org/wp-content/uploads/NVMe_Management_-_Technical_Note_on_Basic_Management_C…
63 memcpy(command->data(), &busle, sizeof(busle)); in encodeBasicQuery()
75 memcpy(&busle, req.data(), sizeof(busle)); in decodeBasicQuery()
85 std::filesystem::path devpath = "/dev/i2c-" + std::to_string(bus); in execBasicQuery()
92 // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg) in execBasicQuery()
93 if (::ioctl(fileHandle.handle(), I2C_SLAVE, addr) == -1) in execBasicQuery()
105 size = i2c_smbus_read_block_data(fileHandle.handle(), cmd, resp.data()); in execBasicQuery()
109 "Failed to read block data from device '{ADDR}' on bus '{BUS}': ERRNO", in execBasicQuery()
150 ssize_t rc = ::read(in.handle(), req.data(), req.size()); in processBasicQueryStream()
158 return -errno; in processBasicQueryStream()
160 return -EIO; in processBasicQueryStream()
175 "LEN", len, "ERRNO", strerror(static_cast<int>(-rc))); in processBasicQueryStream()
178 return -errno; in processBasicQueryStream()
180 return -EIO; in processBasicQueryStream()
183 /* Write out the response data */ in processBasicQueryStream()
189 if (egress == -1) in processBasicQueryStream()
192 "Failed to write block data of length '{LEN}' to out pipe: '{ERROR_MESSAGE}'", in processBasicQueryStream()
196 return -errno; in processBasicQueryStream()
198 return -EIO; in processBasicQueryStream()
216 /* Set up inter-thread communication */ in NVMeBasicContext()
217 if (::pipe(requestPipe.data()) == -1) in NVMeBasicContext()
224 if (::pipe(responsePipe.data()) == -1) in NVMeBasicContext()
229 if (::close(requestPipe[0]) == -1) in NVMeBasicContext()
235 if (::close(requestPipe[1]) == -1) in NVMeBasicContext()
256 "ERROR", strerror(static_cast<int>(-rc))); in NVMeBasicContext()
267 this->pollNVMeDevices(); in readAndProcessNVMeSensor()
273 if (!sensor->readingStateGood()) in readAndProcessNVMeSensor()
275 sensor->markAvailable(false); in readAndProcessNVMeSensor()
276 sensor->updateValue(std::numeric_limits<double>::quiet_NaN()); in readAndProcessNVMeSensor()
282 if (!sensor->sample()) in readAndProcessNVMeSensor()
288 auto command = encodeBasicQuery(sensor->bus, sensor->address, 0x00); in readAndProcessNVMeSensor()
292 reqStream, boost::asio::buffer(command->data(), command->size()), in readAndProcessNVMeSensor()
302 response->prepare(1); in readAndProcessNVMeSensor()
339 return len + 1 - n; in readAndProcessNVMeSensor()
342 response->prepare(len); in readAndProcessNVMeSensor()
363 response->consume(1); /* Drop the length byte */ in readAndProcessNVMeSensor()
365 std::vector<char> data(response->size()); in readAndProcessNVMeSensor() local
366 is.read(data.data(), response->size()); in readAndProcessNVMeSensor()
369 self->processResponse(sensor, data.data(), data.size()); in readAndProcessNVMeSensor()
372 self->readAndProcessNVMeSensor(); in readAndProcessNVMeSensor()
398 self->readAndProcessNVMeSensor(); in pollNVMeDevices()
408 // 0x80 = No temperature data or temperature data is more the 5 s in getTemperatureReading()
421 sensor->incrementError(); in processResponse()
431 sensor->markFunctional(false); in processResponse()
438 sensor->incrementError(); in processResponse()
442 sensor->updateValue(value); in processResponse()