Commit 8bfa13bb authored by Andreas Beckmann's avatar Andreas Beckmann

New upstream version 384.98

parents 3feb4f0c 6fa8e5e7
NVIDIA_VERSION = 381.22
NVIDIA_VERSION = 384.98
NVIDIA_VERSION = 381.22
NVIDIA_VERSION = 384.98
......@@ -9155,6 +9155,47 @@ static int generateXConfig(CtkDisplayConfig *ctk_object, XConfigPtr *pConfig)
/** preserve_busid() **************************************************
*
* Copies the BusID value from the source to the destination
* configuration for devices with matching identifiers.
*
**/
static void preserve_busid(XConfigPtr dstConfig, XConfigPtr srcConfig)
{
XConfigDevicePtr dstDevice, srcDevice;
for (srcDevice = srcConfig->devices;
srcDevice;
srcDevice = srcDevice->next) {
if (!srcDevice->busid) {
continue;
}
dstDevice =
xconfigFindDevice(srcDevice->identifier, dstConfig->devices);
/*
* Only overwrite the BusID in the destination config if
* the destination config has not generated its own
* BusID. If nvidia-settings determines that the new
* requested config requires a specific BusID, a merge
* shouldn't overwrite that specific BusID just because
* the old config happened to have a device with a matching
* identifier and a specified BusID, which may be different
* and incompatible with the new config.
*/
if (dstDevice &&
(dstDevice->busid == NULL)) {
dstDevice->busid = xconfigStrdup(srcDevice->busid);
}
}
}
/** xconfig_generate() ***********************************************
*
* Callback to generate an X config structure based on the current
......@@ -9184,6 +9225,11 @@ static XConfigPtr xconfig_generate(XConfigPtr xconfCur,
return xconfGen;
}
/* The Bus ID of devices may not be set by generateXConfig above so to
* preserve this field, we have to copy the Bus IDs over before merging.
*/
preserve_busid(xconfGen, xconfCur);
/* Merge xconfGen into xconfCur */
result = xconfigMergeConfigs(xconfCur, xconfGen);
if (!result) {
......
......@@ -208,6 +208,7 @@ static void ctk_event_class_init(CtkEventClass *ctk_event_class)
MAKE_SIGNAL(NV_CTRL_PCI_FUNCTION);
MAKE_SIGNAL(NV_CTRL_FRAMELOCK_FPGA_REVISION);
MAKE_SIGNAL(NV_CTRL_FRAMELOCK_FIRMWARE_VERSION);
MAKE_SIGNAL(NV_CTRL_FRAMELOCK_FIRMWARE_MINOR_VERSION);
MAKE_SIGNAL(NV_CTRL_MAX_SCREEN_WIDTH);
MAKE_SIGNAL(NV_CTRL_MAX_SCREEN_HEIGHT);
MAKE_SIGNAL(NV_CTRL_MAX_DISPLAYS);
......@@ -354,7 +355,7 @@ static void ctk_event_class_init(CtkEventClass *ctk_event_class)
* knows about.
*/
#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_FRAMELOCK_FIRMWARE_VERSION
#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_FRAMELOCK_FIRMWARE_MINOR_VERSION
#warning "There are attributes that do not emit signals!"
#endif
......
......@@ -5611,6 +5611,8 @@ static void add_framelock_devices(CtkFramelock *ctk_framelock,
nvListEntryPtr entry;
ReturnStatus ret;
int val;
int firmwareMajorVersion;
int firmwareMinorVersion;
char *product_name;
char *firmware_version_str = NULL;
CtrlTarget *ctrl_target = node->t;
......@@ -5641,11 +5643,31 @@ static void add_framelock_devices(CtkFramelock *ctk_framelock,
ret = NvCtrlGetAttribute(ctrl_target,
NV_CTRL_FRAMELOCK_FIRMWARE_VERSION,
&val);
&firmwareMajorVersion);
if (ret != NvCtrlSuccess) {
goto fail;
}
firmware_version_str = g_strdup_printf("0x%X", val);
ret = NvCtrlGetAttribute(ctrl_target,
NV_CTRL_FRAMELOCK_FIRMWARE_MINOR_VERSION,
&firmwareMinorVersion);
if (ret == NvCtrlSuccess) {
/*
* Firmware minor version is expected to be between 0 and 99, so
* we display major.minor version like "2.01"
*/
firmware_version_str = g_strdup_printf("%d.%.2d",
firmwareMajorVersion,
firmwareMinorVersion);
} else {
/*
* Fall back to displaying major version in old format when working
* with an older X server.
*/
firmware_version_str = g_strdup_printf("0x%X",
firmwareMajorVersion);
}
/* Get the product name for the framelock board */
ret = NvCtrlGetStringAttribute(ctrl_target,
......
This diff is collapsed.
......@@ -20,6 +20,11 @@
#ifndef __CTK_MANAGE_GRID_LICENSE_H__
#define __CTK_MANAGE_GRID_LICENSE_H__
// Licensed feature types
#define GRID_LICENSED_FEATURE_TYPE_TESLA 0
#define GRID_LICENSED_FEATURE_TYPE_VGPU 1
#define GRID_LICENSED_FEATURE_TYPE_GVW 2
G_BEGIN_DECLS
#define CTK_TYPE_MANAGE_GRID_LICENSE (ctk_manage_grid_license_get_type())
......@@ -50,14 +55,19 @@ struct _CtkManageGridLicense
CtkConfig *ctk_config;
GtkWidget* txt_secondary_server_port;
GtkWidget* txt_secondary_server_address;
GtkWidget* txt_server_port;
GtkWidget* txt_server_address;
GtkWidget* label_license_state;
GtkWidget* btn_save;
GtkWidget* btn_apply;
GtkWidget* btn_cancel;
GtkWidget* box_server_info;
DbusData *dbusData;
gint license_edition_state;
gboolean license_edition_gvw_selected;
gint feature_type;
};
struct _CtkManageGridLicenseClass
......
......@@ -1061,7 +1061,7 @@ GtkWidget *ctk_window_new(ParsedAttribute *p, ConfigProperties *conf,
if (widget) {
help = ctk_manage_grid_license_create_help(tag_table,
CTK_MANAGE_GRID_LICENSE(widget));
add_page(widget, help, ctk_window, NULL, NULL, "Manage GRID License",
add_page(widget, help, ctk_window, NULL, NULL, "Manage License",
NULL, ctk_manage_grid_license_start_timer,
ctk_manage_grid_license_stop_timer);
break; /* only add the page once */
......
......@@ -3497,8 +3497,8 @@
#define NV_CTRL_GPU_MEM_TRANSFER_RATE_OFFSET_ALL_PERFORMANCE_LEVELS 425 /* RW-G */
/*
* NV_CTRL_FRAMELOCK_FIRMWARE_VERSION - Queries the firmware version of the
* Frame Lock device.
* NV_CTRL_FRAMELOCK_FIRMWARE_VERSION - Queries the firmware major version of
* the Frame Lock device.
*
* This attribute must be queried through XNVCTRLQueryTargetAttribute()
* using a NV_CTRL_TARGET_TYPE_FRAMELOCK target.
......@@ -3506,7 +3506,17 @@
#define NV_CTRL_FRAMELOCK_FIRMWARE_VERSION 426 /* R--F */
#define NV_CTRL_LAST_ATTRIBUTE NV_CTRL_FRAMELOCK_FIRMWARE_VERSION
/*
* NV_CTRL_FRAMELOCK_FIRMWARE_MINOR_VERSION - Queries the firmware minor
* version of the Frame Lock device.
*
* This attribute must be queried through XNVCTRLQueryTargetAttribute()
* using a NV_CTRL_TARGET_TYPE_FRAMELOCK target.
*/
#define NV_CTRL_FRAMELOCK_FIRMWARE_MINOR_VERSION 427 /* R--F */
#define NV_CTRL_LAST_ATTRIBUTE NV_CTRL_FRAMELOCK_FIRMWARE_MINOR_VERSION
/**************************************************************************/
......
NVIDIA_VERSION = 381.22
NVIDIA_VERSION = 384.98
/*
* Copyright (C) 2016 NVIDIA Corporation All rights reserved.
* All information contained herein is proprietary and confidential to NVIDIA
* Corporation. Any use, reproduction, or disclosure without the written
* permission of NVIDIA Corporation is prohibited.
* Copyright (C) 2017 NVIDIA Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses>.
*
* nv_grid_dbus.h
*/
......@@ -11,14 +20,16 @@
#define _NVIDIA_NV_GRID_DBUS_H_
/*
* Following are the details if client needs to open a connection and
* communicate with nvidia-gridd to query the license state
* Details to communicate with nvidia-gridd using dbus mechanism
*/
#define NV_GRID_DBUS_CLIENT "nvidia.grid.client"
#define NV_GRID_DBUS_TARGET "nvidia.grid.server"
#define NV_GRID_DBUS_OBJECT "/nvidia/grid/license"
#define NV_GRID_DBUS_INTERFACE "nvidia.grid.license"
#define NV_GRID_DBUS_METHOD "GridLicenseState"
#define NV_GRID_DBUS_CLIENT "nvidia.grid.client"
#define NV_GRID_DBUS_TARGET "nvidia.grid.server"
#define NV_GRID_DBUS_OBJECT "/nvidia/grid/license"
#define NV_GRID_DBUS_INTERFACE "nvidia.grid.license"
#define NV_GRID_DBUS_METHOD "GridLicenseState"
#define LICENSE_STATE_REQUEST 1
#define LICENSE_DETAILS_UPDATE_REQUEST 2
#define LICENSE_DETAILS_UPDATE_SUCCESS 0
/*
* List of grid license states
......@@ -26,15 +37,18 @@
typedef enum
{
NV_GRID_UNLICENSED = 0, // Your system does not have a valid GPU license. Enter license server details and apply.
NV_GRID_UNLICENSED_VGPU, // Your system does not have a valid vGPU license. Enter license server details and apply.
NV_GRID_UNLICENSED_TESLA, // Your system is currently running on Tesla (unlicensed).
NV_GRID_UNLICENSED_GVW_SELECTED, // Your system is currently running on Tesla (unlicensed). Enter license server details and apply.
NV_GRID_LICENSE_ACQUIRED_VGPU, // Your system is licensed for GRID vGPU.
NV_GRID_LICENSE_ACQUIRED_GVW, // Your system is licensed for GRID Virtual Workstation Edition.
NV_GRID_LICENSE_ACQUIRED_GVW, // Your system is licensed for Quadro Virtual Datacenter Workstation Edition.
NV_GRID_LICENSE_REQUESTING_VGPU, // Acquiring license for GRID vGPU Edition. Your system does not have a valid GRID vGPU license.
NV_GRID_LICENSE_REQUESTING_GVW, // Acquiring license for GRID Virtual Workstation Edition. Your system does not have a valid GRID Virtual Workstation license.
NV_GRID_LICENSE_REQUESTING_GVW, // Acquiring license for Quadro Virtual Datacenter Workstation Edition. Your system does not have a valid Quadro Virtual Datacenter Workstation license.
NV_GRID_LICENSE_FAILED_VGPU, // Failed to acquire NVIDIA vGPU license.
NV_GRID_LICENSE_FAILED_GVW, // Failed to acquire NVIDIA GRID Virtual Workstation license.
NV_GRID_LICENSE_FAILED_GVW, // Failed to acquire NVIDIA Quadro Virtual Datacenter Workstation license.
NV_GRID_LICENSE_EXPIRED_VGPU, // Failed to renew license for GRID vGPU Edition. Your system does not have a valid GRID vGPU license.
NV_GRID_LICENSE_EXPIRED_GVW, // Failed to renew license for GRID Virtual Workstation Edition. Your system is currently running GRID Virtual Workstation (unlicensed).
NV_GRID_LICENSE_RESTART_REQUIRED, // Restart your system for Tesla Edition. Your system is currently running GRID Virtual Workstation Edition.
NV_GRID_LICENSE_EXPIRED_GVW, // License for Quadro Virtual Datacenter Workstation has expired. Your system does not have a valid Quadro Virtual Datacenter Workstation license.
NV_GRID_LICENSE_RESTART_REQUIRED, // Restart your system for Tesla Edition. Your system is currently running Quadro Virtual Datacenter Workstation Edition.
} gridLicenseStatus;
#endif // _NVIDIA_NV_GRID_DBUS_H_
This diff is collapsed.
......@@ -228,7 +228,8 @@ const AttributeTableEntry attributeTable[] = {
{ "FrameLockMasterable", NV_CTRL_FRAMELOCK_MASTERABLE, INT_ATTR, {1,1,0,0,1,0}, { .int_flags = {0,0,0,1,0,0,0} }, "DEPRECATED: use \"FrameLockDisplayConfig\" instead." },
{ "FrameLockSlaveable", NV_CTRL_FRAMELOCK_SLAVEABLE, INT_ATTR, {1,1,0,0,1,0}, { .int_flags = {0,0,0,1,0,0,0} }, "DEPRECATED: use \"FrameLockDisplayConfig\" instead." },
{ "FrameLockFPGARevision", NV_CTRL_FRAMELOCK_FPGA_REVISION, INT_ATTR, {1,1,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Returns the FPGA revision of the Frame Lock device." },
{ "FrameLockFirmwareVersion", NV_CTRL_FRAMELOCK_FIRMWARE_VERSION, INT_ATTR, {1,1,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Returns the firmware version of the Frame Lock device." },
{ "FrameLockFirmwareVersion", NV_CTRL_FRAMELOCK_FIRMWARE_VERSION, INT_ATTR, {1,1,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Returns the firmware major version of the Frame Lock device." },
{ "FrameLockFirmwareMinorVersion", NV_CTRL_FRAMELOCK_FIRMWARE_MINOR_VERSION, INT_ATTR, {1,1,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Returns the firmware minor version of the Frame Lock device." },
{ "FrameLockSyncRate4", NV_CTRL_FRAMELOCK_SYNC_RATE_4, INT_ATTR, {1,1,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Returns the refresh rate that the frame lock board is sending to the GPU in 1/10000 Hz (i.e., to get the refresh rate in Hz, divide the returned value by 10000)." },
{ "FrameLockSyncDelayResolution", NV_CTRL_FRAMELOCK_SYNC_DELAY_RESOLUTION, INT_ATTR, {1,1,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Returns the number of nanoseconds that one unit of FrameLockSyncDelay corresponds to." },
{ "FrameLockIncomingHouseSyncRate", NV_CTRL_FRAMELOCK_INCOMING_HOUSE_SYNC_RATE, INT_ATTR, {1,1,0,0,1,0}, { .int_flags = {0,0,0,0,0,0,0} }, "Returns the rate of the incoming house sync signal to the frame lock board, in mHz (Millihertz) (i.e., to get the house sync rate in Hz, divide the returned value by 1000)." },
......@@ -390,7 +391,7 @@ const int attributeTableLen = ARRAY_LEN(attributeTable);
* the last attribute that the table knows about.
*/
#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_FRAMELOCK_FIRMWARE_VERSION
#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_FRAMELOCK_FIRMWARE_MINOR_VERSION
#warning "Have you forgotten to add a new integer attribute to attributeTable?"
#endif
......
#define NVIDIA_VERSION "381.22"
#define NVIDIA_VERSION "384.98"
NVIDIA_VERSION = 381.22
NVIDIA_VERSION = 384.98
NVIDIA_VERSION = 381.22
NVIDIA_VERSION = 384.98
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment